【发布时间】:2017-04-14 13:08:01
【问题描述】:
我正在使用 webpack 和 npm 模块构建我的网站代码,并遇到以下问题:
我的代码使用 jQuery 3.1.1 并添加了一些插件。 我还使用了一个对 jQuery
如何强制所有依赖项(顶级和嵌套)使用一个版本的 jQuery?这样require("jquery") 总是解析为 jQuery 3.1.1。
我尝试使用 npm shrinkwrap 覆盖依赖版本,但这似乎不起作用。这是我修改后的收缩包装文件:
{
"name": "example",
"version": "0.1.0",
"dependencies": {
"can": {
"version": "2.3.27",
"from": "can@>=2.3.23 <3.0.0",
"resolved": "https://registry.npmjs.org/can/-/can-2.3.27.tgz",
"dependencies": {
"jquery": {
"version": "3.1.1",
"from": "^3.1.1"
}
}
}
}
}
但是模块的依赖仍然是jQuery 2.2.4 和npm install prints npm ERR! invalid: jquery@3.1.1 /path/.../can/node_modules/jquery
也接受使用 webpack 而不是 npm 解决问题的解决方案。
【问题讨论】:
标签: node.js npm webpack npm-shrinkwrap