现在绝大多数的浏览器都不支持ES6,所以使用es6时需要使用bebal把es6转化为es5,
项目目录:
demo1:单个js文件的转化
src文件下的 test1.js
const aa="this is test1";
console.log("this is from test1",aa);\
在项目根目录引入bebal文件
.babel
内容:
{ presets:["es2015"] }
安装babel-cli
cnpm i babel-cli -g
因为要转es6到es5所以还需要安装babel-preset-es2015
cnpm i babel-preset-es2015 --save-dev
转化test1.js
babel src --out-dir dist
(把src目录下的js文件转换成es5到dist文件下)
页面引入dist下的test1.js 运行不会报错
demo2:多个文件项目引入,并转化
src文件下:
test2.js
const bb="this is bb";
export {bb}
test3.js
import {bb} from 'test2.js'
console.log(bb);
转换 babel src --out-dir dist
页面引入dist文件下的test2.js test3.js
由于我们通过node;来编译ES6成es5,node模块就是参照CommonJS的规范来的,而且现在的浏览器和node都不支持大部分的ES6
解决办法
可以通过webpack进行打包,把所有的依赖都合并为一个文件,同时使用babel进行转换,然后再引入html文件中就可以了