Ich erstelle eine React & react-router v4-Anwendung im Paket mit Webpack. Ich erstelle async split points mit Webpack zu asynchronen Ladebündeln für reaktive Routerrouten meiner Anwendung on-demand.Wie man bestimmte URLs in webpack-dev-server umschreibt
meine app Unter der Annahme, „myapp“ genannt, wenn ich dies zu meinem Server meiner statischen Vermögenswerte bereitstellen müssen aus bedient werden:
/myapp/static/<assetName>
Damit das Asynchron-Paket geladen, wenn auf den Server bereitstellen zu arbeiten , mein Webpack Ausgang Config wie folgt:
output: {
path: path.resolve(__dirname, "build"),
publicPath: "/myapp/static/",
chunkFilename: "[name].[chunkhash].bundle.js",
filename: "[name].[chunkhash].bundle.js"
}
In meinem devserver Abschnitt ich habe dies:
devServer: {
historyApiFallback: true,
inline: true,
port: 4000,
publicPath: "/myapp" // this is so my app is served from http://locahost:4000/myapp
}
Ich habe keine Probleme, wenn ich wirklich auf meinen Server bereitstellen, aber wenn ich webpack-dev-Server laufen und ich zugreifen:
http://localhost:4000/myapp
... die HTML serviert wird, aber alle URLs generiert für meine Bündel von HtmlWebpackPlugin
sind /myapp/static/<bundleName>
und daher nicht abzurufen, wie die Bündel bei /mpapp/<bundleName>
serviert werden.
Wie kann ich den webpack-dev-server so konfigurieren, dass er /myapp/static/<bundleName>
in /myapp/<bundleName>
umwandelt, so dass er zu den Paketen weitergeleitet wird, die tatsächlich lokal unter /myapp
bedient werden?
Ich habe alle möglichen Rewrite- und Proxy-Anweisungen ausprobiert, aber ich scheine die App zu kaputt zu machen - ich bin mir sicher, dass es einen einfachen Weg gibt, den ich übersehe.
Vielen Dank.
Eine weitere mögliche Option ist hier ich meine ändern Build-Prozess. Also für lokale Entwickler meine webpack-Konfiguration dient nur Bundles normalerweise und dann verwendet mein Prod-Build-Prozess die spezifische/myapp/static publicPath-Direktive? – Michael
Ich habe einen grundlegenden node.js Express-Server mit webpack-dev-middleware geschrieben, der das erreicht, was ich will - im Grunde mappe ich einen statischen Pfad zu meinem öffentlichen Pfad: 'app.use ("/myapp/static ", express.static (path.join (__ Verzeichnisname, "/../ public"))). '. Gibt es eine Möglichkeit, dies mit dem webpack-dev-server zu erreichen? Vielen Dank. – Michael