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

Node.js 如何仅在一个环境中启用browserify转换,node.js,npm,gulp,browserify,Node.js,Npm,Gulp,Browserify,我的项目布局如下: gulpfile.js node_modules/ foo/ bar/ 其中foo/和bar/模块实际上是我自己的代码,我想对其应用Browserify转换。(这是一种避免像require(“../../blah”)这样的相对路径的黑客,而不是能够编写require(“foo/pkg/blah”)) 由于Browserify的工作方式,我需要在foo/和bar/模块中都有一个package.json文件,其内容如下: { "browserify": {

我的项目布局如下:

gulpfile.js
node_modules/
    foo/
    bar/
其中
foo/
bar/
模块实际上是我自己的代码,我想对其应用Browserify转换。(这是一种避免像
require(“../../blah”)
这样的相对路径的黑客,而不是能够编写
require(“foo/pkg/blah”)

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

{
  "browserify": {
    "transform": ["rewireify"]
  }
}
否则,Browserify将只对根模块应用转换,而不对子模块应用转换

但是我只想在运行测试时应用
rewirequify
转换(它将依赖注入代码添加到每个模块中,我不想将其包含到生产构建中)

但是在顶层禁用
rewireify
transform不会影响子模块

是否有办法仅在某些环境中启用某些Browserify转换?或者是一种基于环境只启用一些
package.json
设置的方法

PS.我通过破解
rewirequify
转换源代码找到了一个解决方法,但是实现它会很好,这样我就不需要进行转换了