Javascript browserify变换选项正在消失

Javascript browserify变换选项正在消失,javascript,node.js,browserify,Javascript,Node.js,Browserify,我正在进行一个browserify转换,我正在传递选项 //excerpt from package.json of my application that is using my transform and extension "browserify": { "transform": [ ["mytransform", {"extensions": ["my-extension"] } ] ] } 转换正在工作,并在第一个文件上调用,然后在该文件所依赖的文件上调用。我面临的问

我正在进行一个browserify转换,我正在传递选项

//excerpt from package.json of my application that is using my transform and extension
"browserify": {
  "transform": [
    ["mytransform", {"extensions": ["my-extension"] } ]
  ]
}
转换正在工作,并在第一个文件上调用,然后在该文件所依赖的文件上调用。我面临的问题是我失去了选择

在我的转变中,我有

module.exports = function (file, options) {
  console.log('processing? ', file, options);
  options = options || {};
  options.extensions = options.extensions || [];
  var extensions = options.extensions.map(function(extensionId){
                                            return require(extensionId)();
                                          }),
      data = '';

  var stream = through(write, end);
  return stream;

  function write(buf) { data += buf; }
  function end() {
    var out = processFile(extensions, file, data);
    stream.queue(out || data);
    stream.queue(null);
  }
};
以下是输出。第一个文件中有选项,但第二个文件中没有任何选项

processing?  /path/to/cascadingAmdDepWithPlugin.js { extensions: [ 'my-extension' ]}
processing?  /path/to/node_modules/dojo/number.js { }

如何让我的选项执行到我的转换处理的所有文件?

一切正常。我没有足够仔细地阅读文档。转换不应用于
节点\u模块中的文件
。解决方案是将转换指定为全局或更新
节点\ u模块中项目的
包.json
。一旦我做了这两件事中的任何一件,我的代码就如预期的那样工作。

你是如何将带有选项的转换指定为全局的?Browserify转换只在其
包.json中指定了转换的模块上运行。因此,如果project
a
依赖于project
b
,但只有project
a
指定了browserify转换,则只有该转换将在project
a
上运行。Browserify将在两个项目上运行,但仅对一个项目应用转换。您可以更新project
b
package.json
,也可以指定转换是全局的。假设这是通过传递给变换选项的
global
参数完成的。