摘要:巴别塔是转码器,webpack是打包工具,它们应该如何一起使用呢& # 63;
GitHub仓库:Fundebug/webpack-babel-tutorial
ES6 + IE10浏览器=语法错误!
测试。js使用了ES6的箭头函数:
setTimeout(()=比; { 控制台。日志(“你好,Fundebug !”); },100)
由于低版本的浏览器没有支持ES6语法,这就意味着代码会出错。例如,在IE 10浏览器中,会出现“语法错误”:
如果你使用了Fundebug错误监控服务,则会收到这样的报错:
<强>直接使用巴贝尔转码强>
当你使用更高版本的JavaScript语法时,比如ES7,低版本的浏览器将无法运行。为了兼容低版本的浏览器,比如万恶的IE,我们不得不使用巴别塔,将ES6, ES7等高版本代码转换为ES5代码。
安装babel-cli
sudo npm安装——全球babel-cli
使用巴贝尔命令转码
巴别塔测试。js - out-file compiled.js
转码之后生成的代码为编译。js:
setTimeout(函数(){ 控制台。日志(“你好,Fundebug !”); },100)、
可知,箭头函数转换成了函数,这样就代码可以在IE 10等不支持ES6的浏览器上正确执行了。
广告:欢迎免费试用Fundebug,助您第一时间发现代码错误。
<强>使用webpack运行巴别塔强>
一般项目中都会使用webpack对代码进行打包,比如,将多个js文件打包成一个js文件,这样可以减少前端的资源请求。因此,我们需要将巴别塔也集成到webpack中。
<>强安装webpack 强>
npm安装——全球webpack
我使用的webpack版本为4.10.0
webpack——版本 4.10.0
安装巴别塔
npm安装——save-dev babel-cli babel-preset-env
babel-preset-env是巴别塔新版的预设,它可以让我们灵活地设置代码目标执行环境,比如只支持各个浏览器最新的2个版本,支持IE8及其以上的IE浏览器。
<>强安装babel-loader 强>
npm安装——save-dev babel-loader
babel-loader是webpack的巴别塔插件,它让我们可以在wepback中运行巴贝尔。
<>强配置巴别塔强>
新增.babelrc文件:
{ “预设”(“env”): }
<>强配置webpack 强>
新增webpack.config。js文件:
模块。出口={ 条目:“。/. js”, 输出: { 路径:__dirname, 文件名:“bundle.js” }, 模块: { 规则:[ { 测试:/\ . js/美元, 排除:/node_modules/, 装载机:“babel-loader” }) }};
可知,我们在webpack中使用了babel-loader插件来运行巴别塔,转换所有的js代码(除了node_modules中的代码)。
<强>使用webpack运行巴别塔强>
webpack——模式生产
转换之后的代码为包。js .bundle.js只有1行代码,这是因为为我们指定的模式为生产、webpack为了压缩代码只生成了1行代码。
webpack配合巴贝尔将es6转成es5超简单实例
巴别塔入门教程
babel-preset-env:预设配置为你巴别塔
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。