我有一个依赖于 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
,您也可以简单地要求依赖项的特定路径:
require('<path-to-node_modules>/babel-preset-es2015-webpack/node_modules/babel-plugin-transform-es2015-modules-commonjs');
我自己从来没有使用过这些插件,但类似上面的东西应该可以工作。
另一种选择是将 babel-preset-es2015-webpack
锁定到特定版本,然后确定 babel-plugin-transform-es2015-modules-commonjs 是什么版本
在它的 package.json 中列出并将其添加到您的 package.json。然后可以在 NPM2 和 NPM3 中使用 require('babel-plugin-transform-es2015-modules-commonjs');
方法。
关于node.js - 如何获得另一个依赖项的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34654768/