我试图使用gulp和gulp-bro来转换jsx,我几乎在那里除非它无法导入组件,除非我将.jsx添加到导入的末尾。像这样:
import Viewer from './components/viewer/Viewer';
Error: Cannot find module './components/viewer/Viewer'
虽然:
import Viewer from './components/viewer/Viewer.jsx';
工作正常!
当然,导入树比这更多涉及,所以我宁愿避免将所有内容重命名为.js或明确指定.jsx,如果我可以避免它。
这是我的gulpfile的相关部分。它忽略了扩展设置。
gulp.task('viewer', function () {
gulp.src('./app/js/app.jsx')
.pipe(bro({
transform: [
babelify.configure({
presets: ['env', 'react'],
})
],
extensions: ['js', 'jsx'],
debug: true,
}))
.pipe(rename('app.js'))
.pipe(gulp.dest(paths.js))
});
答案 0 :(得分:0)
Gulp-bro将其选项传递给browserify。虽然有关扩展程序选项的浏览器文档效果不佳,但我确实看到了How to specify browserify extensions in package.json?和Grunt-Browserify extensions flag not working,其中extensions选项必须包含"。"
extensions: ['.js', '.jsx'],