Я строю свой сайт код с WebPack и НПМ модулей и sutmbled на следующей задаче:зависимость силы использовать конкретные суб версии зависимостей
Мой код использует JQuery 3.1.1 и добавляет некоторые плагины к нему. Я также использую зависимость, которая имеет sub-depencency на jQuery < = 2.2.4. Проблема в том, что объекты подзависимости, очевидно, не знают о моих плагинах jQuery, так как модуль использует другую версию jquery.
Как заставить все зависимости (верхний уровень и вложенный) использовать одну версию jQuery? Так что require("jquery")
всегда разрешает jQuery 3.1.1.
Я попытался использовать обрезку npm для переопределения версии зависимостей, но это не работает. Это мой измененный файл Shrinkwrap:
{
"name": "example",
"version": "0.1.0",
"dependencies": {
"can": {
"version": "2.3.27",
"from": "[email protected]>=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
печатает npm ERR! invalid: [email protected] /path/.../can/node_modules/jquery
решения для решения проблемы с WebPack вместо НПМ также приняты.