Reactjs Babelify在导入时忽略文件扩展名
我正在写一份和的申请书。下面是我用来将Reactjs Babelify在导入时忽略文件扩展名,reactjs,browserify,ecmascript-6,babeljs,Reactjs,Browserify,Ecmascript 6,Babeljs,我正在写一份和的申请书。下面是我用来将.es6文件浏览到bundle.js中的命令 $ browserify src/es6/app.es6 -t babelify -o build/js/bundle.js 当我尝试从“./menu”使用类似于“导入菜单栏”的方法导入组件时,会收到错误消息: Error: Cannot find module './menu' 我找到的唯一解决方法是将.es6添加到文件名(从“/menu.es6”导入菜单栏),这看起来不太吸引人 在导入模块时,是否有方法告
.es6
文件浏览到bundle.js
中的命令
$ browserify src/es6/app.es6 -t babelify -o build/js/bundle.js
当我尝试从“./menu”使用类似于“导入菜单栏”的方法导入组件时,会收到错误消息:
Error: Cannot find module './menu'
我找到的唯一解决方法是将.es6
添加到文件名(从“/menu.es6”导入菜单栏
),这看起来不太吸引人
在导入模块时,是否有方法告知或知道要使用哪些扩展?请尝试:
browserify src/es6/app.es6 -t babelify -o build/js/bundle.js \
--extension=.js --extension=.json --extension=.es6
默认情况下,Babelify应在其末端处理.es6
顺便说一句,如果可以的话,通常最好使用BrowserifyAPI编写脚本,而不是使用CLI。在这种情况下,它将类似于:
var
browserify=require('browserify'),
babelify=需要(“babelify”),
path=require('path'),
fs=要求('fs');
browserify('src/es6/app.es6'{
扩展:['.js','.json','.es6'],
})
.变换(babelify)
.bundle()
.pipe(fs.createWriteStream(path.join(u dirname,'build/js/bundle.js'));
哦,嘿,它成功了:D每天都在学习新东西~谢谢!太好了,谢谢。顺便说一句,我用一个关于使用API的注释和示例更新了我的答案。当我的一个源文件将导入一个没有扩展名的TS文件时(例如,a.js通过import Foo from“/b”
),我在获取browserify+babelify+@babel/preset typescript以解析typescript导入时遇到问题。我需要将--extension=.ts--extension=.js传递给browserify,并将--extensions'.ts、.js'传递给babelify,例如browserify-t[babelify--extensions.ts、.js']--extension=.js extension=.ts