我的webpack.config文件看起来像这样
var path = require('path');
var webpack = require('webpack');
module.exports = {
entry: {
app: './app'
},
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name]-bundle.js'
}
};
我有一些看起来像这样的动态要求
function loadModule(modName, cb, onErr){
if (modName == 'contacts') require(['../modules/contacts/contacts', 'html!../modules/contacts/contacts.htm'], cb);
else if (modName == 'tasks') require(['../modules/tasks/tasks', 'html!../modules/tasks/tasks.htm'], cb);
else onErr();
}
哪项工作很棒。我看到1.1-bundle.js
和2.2-bundle.js
将添加到我的构建文件夹。
问题是,当触发这些动态需求时,我在网络选项卡中看到404,因为webpack正在尝试从我的项目的根目录加载1-1.bundle.js,而不是build文件夹我告诉webpack把它放进去。
我该如何纠正?
答案 0 :(得分:3)
您可能需要设置public path - 基本上,您告诉webpack在您的网络服务器上它将找到构建的文件,这对于您来说似乎是构建文件夹。
{
output: {
path: path.resolve(__dirname, 'build'),
filename: '[name]-bundle.js',
publicPath: '/build/',
},
}