我正在尝试分块我的应用程序 - 尝试遵循 webpacks 指南的操作方法 (https://webpack.github.io/docs/code-splitting.html)。所以我为我的应用程序设置了一个单独的 block ,我可以看到 webpack 正在生成 1.bundle.js
在我的构建文件夹中,但是它将它粘贴到我的 index.html
上路径不正确,在我的控制台中,我看到了 1.bundle.js
的提取错误文件。
所以我的 webpack 配置看起来像这样(我现在只使用 webpack:dev):
return {
dev: {
entry: {
index: './client/app.jsx'
},
output: {
path: path.join(__dirname, '..', '..', 'dist', 'client'),
publicPath: "/dist/client/",
filename: 'bundle.js'
},
module: {
loaders: [{
test: /\.jsx?$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}, {
test: /\.json$/,
loader: 'json-loader'
}]
},
resolve: {
extensions: ['', '.js', '.jsx']
},
resolveLoader: {
fallback: [path.join(__dirname, 'node_modules')]
},
plugins: [
new webpack.DefinePlugin({
"process.env": {
"NODE_ENV": JSON.stringify("dev")
}
})
]
},
在我的 index.html 中,我手动添加了 <script src="bundle.js"></script>
这一直很好用。看起来现在构建时,webpack 正在我的索引上应用它自己的脚本标记,就像这样
<script type="text/javascript" charset="utf-8" async="" src="/dist/client/1.bundle.js"></script>
但是这条路径不正确,应该是src="1.bundle.js"
.我试过调整路径和 publicPath 但似乎没有任何效果。有没有办法让 webpack 添加正确的路径?谢谢!
最佳答案
您应该更改此代码段的 publicPath
:
publicPath: "/"
它将始终从根路径为您的 block 提供服务。
关于javascript - Webpack,新 block 正在以错误的路径加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38976282/