我正在使用 browserify 和 watchify ,并希望require()
除默认扩展程序.js
和.json
以外的文件没有指定扩展名,例如:
// Not ideal (tedious)
var Carousel = require('./components/Carousel/Carousel.jsx')
// Ideal
var Carousel = require('./components/Carousel/Carousel')
我已尝试 browserify 文档中指定的--extension=EXTENSION
:
"scripts": {
"build": "browserify ./src/App.js --transform [ reactify --es6 ] > dist/script.js -v -d --extension=jsx",
"watch": "watchify ./src/App.js --transform [ reactify --es6 ] -o dist/script.js -v -d --extension=jsx"
},
但是我没有看到任何变化。这可能吗?什么是正确的方法呢?
答案 0 :(得分:16)
修改(2015年4月27日):
我只是注意到在问题中,extension
的参数无效,如下所示:
"watch": "watchify ./src/App.js --extension=jsx -o dist/script.js -v -d"
它应该是(注意.
中的--extension=.jsx
(点):
"watch": "watchify ./src/App.js --extension=.jsx -o dist/script.js -v -d"
原始答案:
将browserify
选项添加到package.json
为 browserify 添加,但不是为 watchify 。
"scripts": {
"build": "browserify ./src/App.js > dist/script.js -v -d",
"watch": "watchify ./src/App.js -o dist/script.js -v -d"
},
"browserify": {
"extension": [ "jsx" ],
"transform": [ [ "reactify", { "es6": true } ] ]
}
为extension
命令添加watch
命令,使 watchify 工作。
"watch": "watchify ./src/App.js --extension=.jsx -o dist/script.js -v -d"
但是,非DRY。我想尽可能缩短我的命令,但是〜哦,好吧〜。