2016-11-30 2 views
0

Kontext: Asp.Net Core, veröffentlicht auf Local IIS, Webpack.Laden des Chunks fehlgeschlagen am lokalen IIS

So habe ich eine meiner Seiten unter http://localhost/wanvet gehostet. (Local IIS)

Für die Hauptseite (Dashboard) funktioniert alles wie erwartet.

Wenn ich versuche, zu einer anderen Komponente zu gelangen, erhalte ich eine Anfrage an http://localhost/dist/0.hash.chunk.js statt http://localhost/wanvet/dist/0.hash.chunk.js wo wanvet ist meine lokale Iis Alias ​​(Ordner). Hier

ist das Skript anhängt Aufruf:

BaseUri Wesen: Script appending baseURI

src sind die folgenden: Src for current chunk script

Und hier ist die Konsole Ausnahme: Console exception for chunk loading failed

Ich nehme an Eine Möglichkeit, dies zu lösen, ist die Website unter http://localhost/ zu hosten, aber ich bin rea lly nicht hinein.

Erfolgreiche Anfrage für js, css von root:

Request from root

Später bearbeiten: eine Antwort Modifizieren der Ausgabe publicPath hinzugefügt. Ich freue mich immer noch auf andere Meinungen.

Antwort

2

Eine getestete Idee ist die folgende.

In webpack.config können wir eine appName-Variable definieren, die den Alias ​​(Ordner) darstellt, der in IIS für die Bereitstellung der Anwendung verwendet wurde.

Und verwenden Sie das, wenn wir die PublicPath-Eigenschaft erstellen.

var isDevBuild = process.argv.indexOf('--env.prod') < 0; 
var appName = 'wanvet'; // folder name in local IIS 
var publicPath = isDevBuild ? '/dist/' : '/' + appName + '/dist/'; 

module.exports = merge({ 
    ........ 
    entry: { 
     'main': './Client/main.ts' 
    }, 
    output: { 
     path: path.join(__dirname, '../wwwroot', 'dist'), 
     filename: '[name].js', 
     publicPath: publicPath 
    }, 
    ........ 
    }, isDevBuild ? devConfig : prodConfig) 

Natürlich können Sie publicPath in beiden dev/prod configs, dev '/dist/' und prod '/appName/dist/' definieren.

Verwandte Themen