ES6 Module的使用疑问◔ ‸◔?

目前浏览器还不支持ES6的很多新特性,可以使用转码器将代码转换成ES5使用。
转码器有很多:Babel、Rollup、Traceur、transpiler等,我目前使用的是Babel。
以上是我目前知道的。
在转换Module相关文件的时候,遇到个问题,浏览器提示:

clipboard.png

测试代码:

clipboard.png

clipboard.png

clipboard.png

通过Babel转换后的文件:

clipboard.png

clipboard.png

https://segmentfault.com/a/11...
这篇文章在说道ES6模块的时候,说道:

像 Babel、Traceur 这样的转译器可以将 ES6 代码预编译为当前浏览器可以处理的 ES5 代码;但这些 ES5 代码需要被包裹在异步语法中,然后使用 RequireJS、Browserify 或 SystemJS 这样的脚本加载器处理。

请问大家:
是不是像这篇文章所说,ES6中的Module转换成ES5后必须结合RequireJS等这类加载器才能正常的在浏览器端使用?

阅读 4.2k
4 个回答

先转换再使用
可以用webpack试试

我是使用的webpack,它会把模块合并后包裹起来(也可以支持外部包裹),就可以不需要使用requirejs了,这个算是现在的趋势了。
gulp和webpack没有冲突,可以使用gulp-webpack让gulp的任务使用webpack进行打包。

node好像默认只可以使用require,即使引入也不支持import和export
引入npm install -D babel-polyfill试试

babel只是将 es5 module 转换在commonjs标准的,nodejs环境可以直接运行,要在浏览器运行需要用webpack打包一下

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