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
package.jsonから削除するtransforms
と、browserify がエラーをスローしますParsing file .../src/client/client.cjsx: Unexpected token (2:16)
package.jsonに戻す
coffee-reactify
とtransforms
、browserify は、.xml内から他のファイルをclient.cjsx
必要としない限り、正常に解析します。したがって、上記の browserify のコード例では、エラーがスローされます: - browserify はまだ拡張子を認識しません....cjsx
client.cjsx
client.cjsx
Cannot find module './other-module' from '/src/client
したがって、browserify は package.json を読み取ります (package.browserify.transforms および package.browser フィールドは認識しますが、拡張子は認識しません)。