在 package.json 中:
...
"browserify": {
"transform": [
"coffee-reactify"
],
"extension": [ ".cjsx", ".coffee", ".js", ".json" ],
"extensions": [ ".cjsx", ".coffee", ".js", ".json" ]
},
...
当使用 browserifytransform
选项按预期工作时,但是 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/client.cjsx
otherModule = require './other-module' # other-module.cjsx
当我
coffee-reactify
从transforms
package.json 中删除时,browserify 会抛出错误Parsing file .../src/client/client.cjsx: Unexpected token (2:16)
当我放回package.json 中时,只要我不需要 .json 中的任何其他文件,browserify
coffee-reactify
就会成功解析。所以对于上面 browserify 的示例代码抛出错误:- browserify 仍然无法识别扩展...transforms
client.cjsx
.cjsx
client.cjsx
client.cjsx
Cannot find module './other-module' from '/src/client
所以 browserify 读取 package.json (识别 package.browserify.transforms 和 package.browser 字段但它不识别扩展名)