Webpack Web包找不到节点模块(';引导多选择';)
My webpack config指定了许多要构建到Webpack Web包找不到节点模块(';引导多选择';),webpack,bootstrap-multiselect,Webpack,Bootstrap Multiselect,My webpack config指定了许多要构建到vendors.js中的节点模块。所有模块都安装有npm,并驻留在父文件夹节点\u模块中 文件夹结构: app/scripts/a.js node_modules/bootstrap-multiselect webpack.config.js webpack.config.js中的代码段: entry: { vendors: ['jquery', 'bootstrap', 'bootstrap-multiselect'] } 这适用于“
vendors.js
中的节点模块。所有模块都安装有npm
,并驻留在父文件夹节点\u模块中
文件夹结构:
app/scripts/a.js
node_modules/bootstrap-multiselect
webpack.config.js
webpack.config.js中的代码段:
entry: {
vendors: ['jquery', 'bootstrap', 'bootstrap-multiselect']
}
这适用于“jquery”和“bootstrap”,但不适用于“bootstrap multiselect”:
ERROR in multi vendors
Module not found: Error: Cannot resolve module 'bootstrap-multiselect'
in /home/user/app
似乎webpack正在查找错误的节点\u模块文件夹。它看起来像是在查看应用程序文件夹的根目录,但是为什么它仍然会找到其他模块呢?因此,我添加了resolve
和resolveLoader
的所有变体
resolveLoader: {root: path.join(__dirname, 'node_modules')};
resolve: {root: [path.join __dirname, 'node_modules']};
仍然不走运…不确定原因,但使用
npm
下载的package.json
似乎没有正确配置。main
入口指向不存在的文件。这就是你可能会出错的原因
package.json
bootstrap multiselect.js
文件不在dist
下,而是在dist/js
下。作为解决方法,您可以:
供应商
字段和要求
中的完整路径:
vendors : ['jquery', 'bootstrap', 'bootstrap-multiselect/dist/js/bootstrap-multiselect']
require('bootstrap-multiselect/dist/js/bootstrap-multiselect';
webpack.config.js
中的“real”文件:
resolve: {
alias: {
'bootstrap-multiselect': 'bootstrap-multiselect/dist/js/bootstrap-multiselect'
}
}
但是,迟早它会被修复,因为我检查了github项目,那里的文件看起来是正确的。就是这样!非常好,非常感谢你的帮助。我已经通知了作者,以便他可以在NPM中更新他的软件包:@bercobute维护人员是否回复过?
package.json
仍然损坏。我还以为我做错了什么。。。它还是坏的:P
resolve: {
alias: {
'bootstrap-multiselect': 'bootstrap-multiselect/dist/js/bootstrap-multiselect'
}
}