在 package.json 中:
...
"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/client.cjsx
otherModule = require './other-module' # other-module.cjsx
当我从 package.json 中的
transforms
中删除coffee-reactify
时,browserify 抛出错误Parsing file .../src/client/client .cjsx:意外 token (2:16)
当我把
coffee-reactify
放回 package.json 中的transforms
时,只要 browserify 成功解析client.cjsx
因为我不需要client.cjsx
内部的任何其他.cjsx
文件。所以对于client.cjsx
上面的示例代码 browserify 抛出错误:Cannot find module './other-module' from '/src/client
- browserify still does not recognize扩展...
因此 browserify 读取 package.json(识别 package.browserify.transforms 和 package.browser 字段但不识别扩展)
最佳答案
我们遇到了同样的问题。我们能够通过将 extensions
添加到 browserify
gulp 函数调用来让它工作。
browserify({
entries: "src/index.coffee",
extensions: [".cjsx", ".coffee", ".js", ".json" ]
})
我们根本没有在 package.json
中,只是在 gulp 命令中。
关于javascript - 如何在 package.json 中指定 browserify 扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30969318/