需要 jsx 文件而不指定扩展名
Require jsx files without specifying extension
我正在使用 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"
},
但是我没有看到任何变化。这可能吗?这样做的正确方法是什么?
编辑(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 } ] ]
}
为使 watchify 工作的 watch
命令添加 extension
选项。
"watch": "watchify ./src/App.js --extension=.jsx -o dist/script.js -v -d"
但是,非DRY。我想让我的命令尽可能简短,但是~哦好吧~。
我正在使用 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"
},
但是我没有看到任何变化。这可能吗?这样做的正确方法是什么?
编辑(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 } ] ]
}
为使 watchify 工作的 watch
命令添加 extension
选项。
"watch": "watchify ./src/App.js --extension=.jsx -o dist/script.js -v -d"
但是,非DRY。我想让我的命令尽可能简短,但是~哦好吧~。