所以我有一个应用程序可以引入一些依赖项。我已经想出如何轻松地锁定它们,因此我的Package.json看起来像这样:
"webpack": "2.2.1",
大!所以webpack被锁定到那个版本,但我注意到了webpacks package.json中的一些东西。他们不会锁定他们的依赖关系:
"dependencies": {
"acorn": "^4.0.4",
"acorn-dynamic-import": "^2.0.0",
"ajv": "^4.7.0",
"ajv-keywords": "^1.1.1",
"async": "^2.1.2",
"enhanced-resolve": "^3.0.0",
"interpret": "^1.0.0",
"json-loader": "^0.5.4",
"loader-runner": "^2.3.0",
"loader-utils": "^0.2.16",
"memory-fs": "~0.4.1",
"mkdirp": "~0.5.0",
"node-libs-browser": "^2.0.0",
"source-map": "^0.5.3",
"supports-color": "^3.1.0",
"tapable": "~0.2.5",
"uglify-js": "^2.8.5",
"watchpack": "^1.2.0",
"webpack-sources": "^0.2.0",
"yargs": "^6.0.0"
},
所以前几天我们的应用程序在一个容器上运行并抓住webpack 2.2.1,但它抓住了最新的uglify-js,这导致我们的生产应用程序出现问题。
是否有依赖关系正在使用的依赖项的版本?
答案 0 :(得分:4)
npm shrinkwrap
正是我所寻找和需要的。