2015-06-21 61 views
3

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

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

当使用browserify transform选项正常工作,但browserify没有看到extension(s)选项 - 它会抛出错误,我不得不手动通过扩展选项browserify ...


在gulpfile.coffee

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.cjsx

otherModule = require './other-module' # other-module.cjsx 
  1. 当我的package.json从transforms删除coffee-reactify然后browserify抛出错误Parsing file .../src/client/client.cjsx: Unexpected token (2:16)

  2. 当我把回coffee-reactifytransforms在package.json中,那么只要我不需要任何其他,那么browserify就会成功解析来自client.cjsx之内的文件。所以对于client.cjsx上述browserify示例代码抛出错误:Cannot find module './other-module' from '/src/client - browserify仍然不能识别扩展...

所以browserify读取的package.json(识别package.browserify.transforms和package.browser领域,但它不承认扩展)

+0

您是否尝试在您的'browserify'命令中添加'--extension = [EXTENSION]'? – marcel

+2

是的,它的工作原理,但我希望它没有这个选项 - 我想在我的package.json中定义它,而不是... – user606521

回答

0

试试这个:

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

取出.点。看看this question

+0

不适用于我:(。 – user606521

+0

你的'package'脚本怎么样? – marcel

+0

我已经更新了我的问题,更详细的内容 – user606521

1

我们遇到了同样的问题。我们能够通过将extensions添加到browserify吞咽函数调用中来获得它的工作。

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

根本就没有在package.json中,只是在gulp命令中。

相关问题