2016-10-25 4 views
0

Meine angular2 Anwendung Bereitstellung ist sauber, aber wenn ich versuche, auf die URL auf die gleiche zuzugreifen, erhalte ich den Fehler: app/main.js 404 (nicht gefunden). Ich sehe auch keine Javascript-Dateien unterwegs auf KUDU erstellt. Die Typoskript-Dateien werden nicht so kompiliert, wie ich es machen könnte. Soll ich ts zu js on local aufbauen und dann die js-Dateien auch auf git schieben? Könnte jemand bitte vorschlagen, was dazu erforderlich ist.Fehler app/main.js 404 Nicht gefunden auf Azure

enter image description here PS: Meine web.config-Datei im Stammverzeichnis wird wie folgt:

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

Mein Package.json ist:

{ 
    "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": {} 
} 

Wenn ich den Befehl post dazu ändere ich Die ts-Dateien kompiliert zu js auf Kudu, aber erhalten Einsatzfehler .:

ich unten Fehlermeldung erhalten: enter image description here

Antwort

1

standardmäßig Deployment-Task Azure Web Apps npm install --production Befehl verwendet die Abhängigkeiten in Ihrem package.json zu installieren, die alle konfigurierten Abhängigkeiten in devDependencies Abschnitt überspringt wird.

Zuerst können Sie alle Abhängigkeiten in devDependencies Abschnitt zu dependencies Abschnitt verschieben.

Wie Ihre ts-Dateien können in JavaScript kompiliert werden, nachdem die node.js Module Installation während der Bereitstellungsaufgabe abgeschlossen, Sie diese "postinstall": "typings install && tsc" statt "postinstall": "typings install && tsc" erreichen nutzen könnten.

Alle weiteren Bedenken, bitte zögern Sie nicht, lassen Sie es mich wissen.

+0

Hey Gary .. Danke für Ihren Vorschlag. Indem ich den Postinstall-Befehl selbst änderte, konnte ich die js-Dateien auf Kudu bekommen. Aber es gibt einen Fehler bei der Bereitstellung. Wenn ich jedoch den Befehl "& TSC" aus dem Befehl postinstall lösche und die Datei erneut an git drücke, war die js bereits vorhanden und die Bereitstellung ist sauber. Kannst du mir bitte sagen, warum das passiert? ****** angehängt den Fehler Snapshot in Frage. ****** 8 –

+0

Sie müssen die folgenden Moudles hinzufügen: '" Firebase ":"^3.5.2 "," angularfire2 ":"^2.0.0 -beta.5 "," ng2-bootstrap ":"^1.1.14 ",' zu Ihrem ** Abhängigkeiten ** Abschnitt. –

+0

Es ist besser, '&& TSC' nicht aus postinstall zu entfernen, da es Ihre TS in js umwandelt, wenn Ihre TS-Datei aktualisiert wird. –

Verwandte Themen