es6 import 报错

现在绝大多数的浏览器都不支持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文件中就可以了

原文地址:https://www.cnblogs.com/xiaofenguo/p/10114458.html