如何仅在一个环境中启用browserify转换

时间:2015-06-19 10:03:07

标签: node.js npm gulp browserify

我有一个像这样的项目布局:

gulpfile.js
node_modules/
    foo/
    bar/

foo/bar/模块实际上是我自己的代码,我想要应用Browserify转换。 (这是避免像require("../../blah")这样的相对路径的黑客,而是能够写require("foo/pkg/blah")。)

由于Browserify的工作方式,我需要在foo /和bar / modules中都有一个package.json文件,内容如下:

{
  "browserify": {
    "transform": ["rewireify"]
  }
}

否则Browserify只会将转换应用于根模块,但不会应用于子模块。

但是我只想在运行测试时应用rewireify转换(它将依赖注入代码添加到我不希望包含在生产版本中的每个模块中)。

但是,在顶级禁用rewireify转换并不会影响子模块。

有没有办法只在某些环境下启用一些Browserify转换?或者也许只能根据环境启用某些package.json设置?

PS。我通过攻击rewireify转换源找到了解决方法,但实现它会很好,所以我不需要分叉变换。

0 个答案:

没有答案