4

在 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
  1. 当我coffee-reactifytransformspackage.json 中删除时,browserify 会抛出错误Parsing file .../src/client/client.cjsx: Unexpected token (2:16)

  2. 当我放回package.json 中时,只要我不需要 .json 中的任何其他文件,browserifycoffee-reactify就会成功解析。所以对于上面 browserify 的示例代码抛出错误:- browserify 仍然无法识别扩展...transformsclient.cjsx.cjsxclient.cjsxclient.cjsxCannot find module './other-module' from '/src/client

所以 browserify 读取 package.json (识别 package.browserify.transforms 和 package.browser 字段但它不识别扩展名)

4

2 回答 2

1

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

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

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

于 2016-05-20T21:33:33.710 回答
0

尝试这个:

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

删除.点。看看这个问题

于 2015-06-25T09:00:04.643 回答