我们的网络应用程序中有以下结构:
/src(.sln)
--/ClientSite
--/AdminSite
--/SharedWeb
在SharedWeb
中,我们有以下文件夹:
--/Client
--/Admin
--/Shared
我们有这个结构,无论我们编辑什么文件只有一个webpack-dev-server
,都可以使用package.json
进行热重新加载。如果有兴趣的话,我们选择这个结构的主题:/ p>
Shared react front end components -> Separate project with TypeScript -> Visual Studio 2017
到目前为止,一切都运行良好,但现在我们需要部署我们的解决方案,我们需要将bundle.js
导出到正确的网站。
在webpack.client.config.js
:
热重新加载正常,但脚本文件未正确导出到网站:
output: {
filename: "./Scripts/dist/[name].bundle.js",
},
正确导出脚本文件,但热重新加载停止工作:
output: {
filename: "../ClientSite/Scripts/dist/[name].bundle.js",
},
根据文档使用路径和文件名的正确方法,没有任何作用:
output: {
path: path.resolve(__dirname, "Scripts/dist/"),
filename: "[name].bundle.js"
}
正确导出脚本文件,但热重新加载不起作用。如果我将webpack
与--watch
一起使用并手动重新加载webpack-dev-server
网址,我可以看到更改,但不会自动重新加载。
output: {
path: path.resolve(__dirname, "../ClientSite/Scripts/dist/"),
filename: "[name].bundle.js"
},
答案 0 :(得分:1)
解决此问题,publicPath
是自动更新在webpack-dev-server
中工作的关键。
output: {
path: path.resolve(__dirname, "../ClientSite/Scripts/dist/"),
publicPath: '/Scripts/dist',
filename: "[name].bundle.js"
},
https://github.com/webpack/docs/wiki/configuration#outputpublicpath