2016-10-25 1 views
0

Mon déploiement de l'application angular2 est propre mais lorsque j'essaie d'accéder à l'URL à la même je reçois l'erreur: app/main.js 404 (non trouvé). Je ne vois pas non plus de fichiers javascript en cours de création sur KUDU. Les fichiers de scripts ne sont pas compilés comme je pourrais en faire. Devrais-je construire ts à js sur local et ensuite pousser les fichiers js aussi sur git? Quelqu'un pourrait-il suggérer ce qui est requis pour le faire?Erreur app/main.js 404 introuvable sur Azure

enter image description here PS: Mon fichier web.config dans le répertoire racine est comme suit:

<configuration> 
    <system.web> 
     <customErrors mode="Off" /> 
     <compilation debug="true" targetFramework="4.5"> 
     </compilation> 
    </system.web> 
</configuration> 

Mon Package.json est:

{ 
    "name": "angular-quickstart", 
    "version": "1.0.0", 
    "engines": { 
    "node": "6.1.0", 
    "npm": "3.8.6" 
    }, 
    "description": "QuickStart package.json from the documentation, supplemented with testing support", 
    "scripts": { 
    "start": "tsc && concurrently \"tsc -w\" \"lite-server\" ", 
    "docker-build": "docker build -t ng2-quickstart .", 
    "docker": "npm run docker-build && docker run -it --rm -p 3000:3000 -p 3001:3001 ng2-quickstart", 
    "pree2e": "npm run webdriver:update", 
    "e2e": "tsc && concurrently \"http-server -s\" \"protractor protractor.config.js\" --kill-others --success first", 
    "lint": "tslint ./app/**/*.ts -t verbose", 
    "lite": "node_modules\\.bin\\lite-server", 
    "postinstall": "typings install && tsc", 
    "test": "tsc && concurrently \"tsc -w\" \"karma start karma.conf.js\"", 
    "test-once": "tsc && karma start karma.conf.js --single-run", 
    "tsc": "node_modules\\.bin\\tsc", 
    "concurrently": "node_modules\\.bin\\concurrently", 
    "tsc:w": "node_modules\\.bin\\tsc -w", 
    "typings": "node_modules\\.bin\\typings", 
    "webdriver:update": "webdriver-manager update" 
    }, 
    "keywords": [], 
    "author": "", 
    "licenses": [ 
    { 
     "type": "MIT", 
     "url": "https://github.com/angular/angular.io/blob/master/LICENSE" 
    } 
    ], 
    "dependencies": { 
    "@angular/common": "~2.1.0", 
    "@angular/compiler": "~2.1.0", 
    "@angular/core": "~2.1.0", 
    "@angular/forms": "~2.1.0", 
    "@angular/http": "~2.1.0", 
    "@angular/platform-browser": "~2.1.0", 
    "@angular/platform-browser-dynamic": "~2.1.0", 
    "@angular/router": "~3.1.0", 
    "@angular/upgrade": "~2.1.0", 

    "angular-in-memory-web-api": "~0.1.5", 
    "bootstrap": "^3.3.7", 
    "ng2-bootstrap": "^1.1.14", 
    "moment": "^2.15.2", 
    "firebase": "^3.5.2", 
    "angularfire2": "^2.0.0-beta.5", 
    "systemjs": "0.19.39", 
    "core-js": "^2.4.1", 
    "reflect-metadata": "^0.1.8", 
    "rxjs": "5.0.0-beta.12", 
    "zone.js": "^0.6.25", 
    "concurrently": "^3.0.0", 
    "lite-server": "^2.2.2", 
    "typescript": "^2.0.3", 
    "typings": "^1.4.0" 
    }, 
    "devDependencies": { 
    "concurrently": "^3.0.0", 
    "lite-server": "^2.2.2", 
    "typescript": "^2.0.3", 
    "typings": "^1.4.0", 

    "canonical-path": "0.0.2", 
    "http-server": "^0.9.0", 
    "tslint": "^3.15.1", 
    "lodash": "^4.16.2", 
    "jasmine-core": "~2.5.2", 
    "karma": "^1.3.0", 
    "karma-chrome-launcher": "^2.0.0", 
    "karma-cli": "^1.0.1", 
    "karma-htmlfile-reporter": "^0.3.4", 
    "karma-jasmine": "^1.0.2", 
    "karma-jasmine-html-reporter": "^0.2.2", 
    "protractor": "^3.3.0", 
    "rimraf": "^2.5.4" 
    }, 
    "repository": {} 
} 

Si je modifie la commande postinstall à ce que je reçois les fichiers ts compilés à js sur kudu mais obtenir des erreurs de déploiement .:

"postinstall": "typings install && tsc" 

je reçois ci-dessous erreur: enter image description here

Répondre

1

Par défaut, la tâche de déploiement d'Azure Web Apps utilise la commande npm install --production pour installer les dépendances dans votre package.json, qui saute toutes les dépendances configurées dans la section devDependencies. Donc d'abord, vous pouvez déplacer toutes les dépendances de la section devDependencies vers la section dependencies.

Comme vos fichiers ts peut être compilé en javascript après l'installation des modules Node.js terminé au cours de la tâche de déploiement, vous pouvez utiliser "postinstall": "typings install && tsc" au lieu de "postinstall": "typings install && tsc" pour y parvenir.

Toute autre préoccupation, s'il vous plaît n'hésitez pas à me le faire savoir.

+0

Salut Gary .. Merci pour votre suggestion. En modifiant la commande postinstall elle-même, j'ai pu obtenir les fichiers js sur kudu. Mais il y a une erreur dans le déploiement. Cependant, si je supprime le "& tsc" de la commande postinstall et que je pousse le fichier à nouveau, alors js était déjà là et le déploiement est net. Pourriez-vous s'il vous plaît me dire pourquoi cela arrive? ****** a joint l'instantané d'erreur en question. ****** 8 –

+0

Vous devez ajouter les moudles suivants: '" firebase ":"^3.5.2 "," angularfire2 ":"^2.0.0 -beta.5 "," ng2-bootstrap ":"^1.1.14 ",' à votre section ** dépendances **. –

+0

Il est préférable de ne pas supprimer '&& tsc' de postinstall car il reconstruit vos ts en js lorsque votre fichier ts est mis à jour. –