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-reactifypackage.jsonから削除するtransformsと、browserify がエラーをスローしますParsing file .../src/client/client.cjsx: Unexpected token (2:16)

  2. package.jsonに戻すcoffee-reactifytransforms、browserify は、.xml内から他のファイルをclient.cjsx必要としない限り、正常に解析します。したがって、上記の browserify のコード例では、エラーがスローされます: - browserify はまだ拡張子を認識しません....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.jsongulp コマンドだけで、まったくありません。

于 2016-05-20T21:33:33.710 に答える