首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >webpack找不到节点模块(“引导-多选择”)

webpack找不到节点模块(“引导-多选择”)
EN

Stack Overflow用户
提问于 2015-12-06 22:00:48
回答 1查看 3.6K关注 0票数 2

我的webpack配置指定了许多要构建到vendors.js中的节点模块。所有模块都与npm一起安装,并驻留在父文件夹node_modules中。

文件夹结构:

代码语言:javascript
复制
app/scripts/a.js
node_modules/bootstrap-multiselect
webpack.config.js

来自webpack.config.js的片段:

代码语言:javascript
复制
entry: {
  vendors: ['jquery', 'bootstrap', 'bootstrap-multiselect']
}

对于'jquery‘和'bootstrap’来说,这很好,但是对于‘bootstrap-multiselect’则不是这样:

代码语言:javascript
复制
ERROR in multi vendors
Module not found: Error: Cannot resolve module 'bootstrap-multiselect' 
in /home/user/app

webpack似乎找错了node_modules文件夹。它看上去似乎是应用程序文件夹的根,但是为什么它还会找到其他模块呢?所以我加入了resolveresolveLoader的每一个变体,

代码语言:javascript
复制
resolveLoader: {root: path.join(__dirname, 'node_modules')};
resolve: {root: [path.join __dirname, 'node_modules']};

还是没有运气..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-06 23:31:34

不知道为什么,但是用npm下载的npm似乎没有得到正确的配置。main条目指向一个不存在的文件。这就是你可能会犯错误的原因。

package.json

代码语言:javascript
复制
"main": "dist/bootstrap-multiselect.js"

bootstrap-multiselect.js文件不是在dist下,而是在dist/js下。作为一种解决办法,您可以:

  1. 使用vendors字段和require字段中的完整路径: 供应商:'jquery',‘引导’,'bootstrap-multiselect/dist/js/bootstrap-multiselect‘require('bootstrap-multiselect/dist/js/bootstrap-multiselect';
  2. 或者,将包别名为webpack.config.js中的“真实”文件: 解析:{别名:{‘引导-多选择’:'bootstrap-multiselect/dist/js/bootstrap-multiselect‘}}

但是,它迟早会被修复,因为我检查了github项目,在那里package.json文件看起来是正确的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34123358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档