如何获得另一个依赖的依赖?
我有一个包( babel-preset-es2015-webpack
),依赖于babel-preset-es2015
。 babel-preset-es2015
有依赖babel-plugin-transform-es2015-modules-commonjs
。
我如何要求babel-plugin-transform-es2015-modules-commonjs
以确保它与我的babel-present-es2015
依赖关系使用的是同一个包?
简单地做:
require('babel-plugin-transform-es2015-modules-commonjs');
将工作在NPM3设置(假设没有其他依赖需要不同版本的babel-plugin-transform-es2015-modules-commonjs
),但在NPM2中不起作用。
如果您不想使用@Nocturno指出的shrinkwrap,那么您也可以简单地要求依赖关系的特定path:
require('<path-to-node_modules>/babel-preset-es2015-webpack/node_modules/babel-plugin-transform-es2015-modules-commonjs');
我从来没有使用过插件,但是像上面这样的东西应该可以工作。
另一个select是将babel-preset-es2015-webpack
到特定版本,然后确定在其package.json中列出了babel-plugin-transform-es2015-modules-commonjs
,并将其添加到package.json中。 然后你可以使用require('babel-plugin-transform-es2015-modules-commonjs');
方法在NPM2和NPM3中。