Javascript 如何在package.json中指定browserify扩展?

Javascript 如何在package.json中指定browserify扩展?,javascript,browserify,package.json,Javascript,Browserify,Package.json,在package.json中: ... "browserify": { "transform": [ "coffee-reactify" ], "extension": [ ".cjsx", ".coffee", ".js", ".json" ], "extensions": [ ".cjsx", ".coffee", ".js", ".json" ] }, ... 使用browserifytransform时,选项按预期工作,但是browserify没有看到扩展opt

在package.json中:

...
"browserify": {
  "transform": [
    "coffee-reactify"
  ],
  "extension": [ ".cjsx", ".coffee", ".js", ".json" ],
  "extensions": [ ".cjsx", ".coffee", ".js", ".json" ]
},
...
使用browserify
transform
时,选项按预期工作,但是browserify没有看到扩展options-它抛出错误,我必须手动将扩展选项传递给browserify


咖啡

b = browserify
  entries: './' # ./ = root = directory where package.json is
  debug: true
b.bundle()
.pipe(source('client.js'))
.pipe(buffer())
.pipe(gulp.dest(distDir))
在package.json中

"browser": "src/client/client",
"browserify": {
  "transform": [
    "coffee-reactify"
  ],
  "extension": [
    "cjsx",
    "coffee",
    "js",
    "json"
  ]
},
src/client/client.cjsx

otherModule = require './other-module' # other-module.cjsx
  • 当我从package.json中的
    transforms
    中删除
    coffee-reactify
    时,browserify抛出错误
    解析文件…/src/client/client.cjsx:意外标记(2:16)

  • 当我将
    coffee reactify
    放回package.json中的
    transforms
    ,然后browserify成功解析
    client.cjsx
    ,只要我不需要
    client.cjsx
    内部的任何其他
    .cjsx
    文件。因此,对于browserify上面的
    client.cjsx
    示例代码,会抛出错误:
    无法从'/src/client
    找到模块'/other module'-browserify仍然无法识别扩展名

  • 因此browserify读取package.json(识别package.browserify.transforms和package.browser字段,但不识别扩展)

    尝试以下操作:

    "browserify": {
      "transform": [
        "coffee-reactify"
      ],
      "extension": [ 
        "cjsx", 
        "coffee", 
        "js", 
        "json" 
      ]
    },
    

    删除
    点。看看。

    我们遇到了同样的问题。我们能够通过向
    browserify
    gulp函数调用添加
    extensions
    使其工作

    browserify({
      entries: "src/index.coffee",
      extensions: [".cjsx", ".coffee", ".js", ".json" ]
    })
    

    我们在
    包.json中根本没有它,只是在gulp命令中。

    您是否尝试将,
    --extension=[extension]
    添加到您的
    browserify
    命令中?是的,它可以工作,但是我希望它在没有这个选项的情况下工作-我想在我的package.json中定义它…你的
    package
    脚本是什么样子的?嗯。我在
    package.json
    中搜索了“browserify”部分,但没有找到“extension”。只是“转变”和其他一些。。。。你能试着直接把extensiond添加到你的gulp任务中吗?比如:
    b=browserify条目:'./'#./=root=package.json所在的目录调试:真正的扩展名:[……]
    是的,我知道它是这样工作的,但我希望browserify使用我的package.json设置。我不想将“扩展”放在package.json(对于其他需要在browserify中使用我的lib的用户)和gulpfile.coffee中。我不确定它的内涵行为是浏览还是bug。事实上,browserify读取package.json,但“看到”的只是浏览器/转换字段,而不是扩展…是的,我理解您的问题。我是这么说的,我认为没有办法在
    package.json
    中定义
    extensions