使用es6的import报错

clipboard.png

clipboard.png
我想试一下es6的import引入js,但是不能用
,后来百度说要装babel
但是还不是不能用,为什么clipboard.png

阅读 12.7k
5 个回答

这个问题我也碰到过,ES6中的import语法经过babel转换后并不能直接使用,而必须使用webpack打包之后才有效,思考之后觉得应该是ES5没有模块的概念,babel转码之后使用的是Node中的CommonJS规范,在浏览器中并不适用,而经过webpack打包之后实际是一个JS文件,就不存在模块之间相互调用的关系了,所以可以直接在浏览器中运行。
补:在最新的node-v8.5.0版本中已经支持ES6的module语法

你的 Chrome 不支持 import(es6 语法),你可以试试用脚手架或编译工具把你写的 es6 代码转成 es5。

两种解决方案,可能你对exportexport default的区别不是很理解。使用export default导出的变量不可以加{},在import的时候也不需要加{}。第一种:去掉export default中的default关键字;第二种把你输出的三个变量保存到一个对象中,然后export default这个对象,记住不要加大括号。

你装了babel又没有编译
现在浏览器还不支持es6,可以用

 $ babel example.js

命令去编译单个文件
或者用webpack打包这些文件

babel安装好了以后,还要执行babel的编译,把 es6转成 es5

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题