我正在尝试对我的应用程序进行分块处理 - 试图遵循webpack的指南(https://webpack.github.io/docs/code-splitting.html)。因此,我为我的应用程序设置了一个单独的块,并且我可以看到webpack正在生成build文件夹中的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构建时,它自己也在我的index文件中加入了一个script标签,大概是这样的: <script type="text/javascript" charset="utf-8" async="" src="/dist/client/1.bundle.js"></script>
然而,该路径是不正确的,应该只是src="1.bundle.js"
。我已经尝试了调整路径和publicPath,但似乎没有起作用。是否有办法让webpack添加正确的路径?谢谢!
output
对象中添加一个吗? - Meet Zavericonfig.output.publicPath = "./dist/";
?这会干扰我的库的使用者吗? - tonix