我有以下webpack配置:
const path = require('path');
const webpack = require('webpack');
const CleanWebpackPlugin = require('clean-webpack-plugin');
module.exports = {
entry: {
source1: './frontend/source1.js',
source2: './frontend/source2.js'
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'static/bundles')
},
plugins: [
new CleanWebpackPlugin(['static/bundles'])
],
module: {
rules: [
{
test: /\.vue$/,
loader: 'vue-loader', // для .vue-файлов
options: {
loaders: {
}
// other vue-loader options go here
}
},
{
test: /\.js$/,
exclude: /node_modules/,
loader: "babel-loader"
}
]
},
resolve: {
alias: {
vue$: 'vue/dist/vue.esm.js'
}
}
};
当我运行webpack时,我希望它生成两个文件:source1.bundle.js
和source2.bundle.js
。
但它也会产生一个神秘的0.bundle.js
并将其放在与其他文件相同的目录中。
然后当我打开浏览器时出现错误:
因为我的捆绑包是从一个单独的绝对/static/bundles/
目录加载的,而此0.bundle.js
正在尝试从当前页面而不是/static/bundles/
加载。这个文件是什么,我该如何为它指定加载路径?
答案 0 :(得分:0)
我相信您会想要在webpack配置中添加publicPath。无论您实际上在哪里阅读它们,都可以。
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'public/dist'),
publicPath: './dist/'
},