有些浏览器不支持es6写法。

项目使用Node.js搭建的,页面写在根目录下的public文件夹下。
现在有些浏览器(比如IE,360)会不识别es6的写法(主要是用了箭头函数以及``等),
请问怎么解决比较好呢?

现在用的解决方式是在html页面中先引入一个
<script src="browser.min.js"></script>
然后再引入其他js文件的时候用<script type="text/babel" src=""></script>的方式引用,
但是感觉这种方式有点影响网页的性能,网页加载会变慢。

想问一下怎么解决比较好呢?(或者说要改回es5的写法?)

阅读 12.2k
8 个回答

不要那样引用,直接运行使用bable转译后的代码。

区分一下源代码的目录和bable转译代码的目录。

如果只是用了es6的语法糖的话,
可以用babel-cli转一下 npx babel src --out-dir lib
或者用node

const babel = require("babel-core")
babel.transformFile("./src/index.js", {extends:'./.babelrc'},function (err, result) {
    let { code, map, ast } = result;
   
  });

获取转换后的es5代码再写入lib目录或者其他处理

babel转换,大部分浏览器兼容ES6代码

在浏览器里面跑的代码,一般都是用bable去转成es5的,比如前后端分离的项目大家都习惯用webpack+bable去构建

可以先使用前端脚手架写前端部分的代码,写完后后将编译生成的文件放到public文件夹下

es6分成语法与核心方法, 不兼容的方法可以引入ployfill, 语法只能用babel转换

新手上路,请多包涵

为什么我用你的方法写es6浏览器也会报语法错误呢

推荐问题