【发布时间】:2016-09-06 20:04:03
【问题描述】:
我似乎无法让ES6/2015 imports 工作。从this Understanding ECMAScript 6 book,我知道我需要用type 属性modules 编写<script> 标签:
<script type="module" src="module.js"></script>
然后我可以在module.js 中使用import。但是,它不适用于最新的 Firefox (v48.0.1) 和 Chrome (v53.0.2785.89)。当我在 module.js 中添加 console.log 语句时,控制台没有任何记录。
如何在浏览器中使用 ES2015 的导入机制(本机,不使用 babel/webpack 之类的东西)?
更新:看起来像Microsoft's Edge browser supports modules,至少在实验模式下。为什么其他浏览器还不支持它,至少在实验模式下?
【问题讨论】:
-
浏览器尚不支持 ES6 模块。
-
你……不能。等待运行时支持它并同时使用 webpack。
-
关键是,虽然模块的语法已经在 ECMAScript 6 规范中定义,但决定如何加载模块的逻辑还没有,这就是为什么浏览器还没有实现它们的原因。 Babel 只是使用 Node 的 CommonJS 模块加载行为。
-
“如何让 X 工作”与“哪些浏览器支持 X”不是相同的问题。请停止将有关 Javascript 的所有内容标记为彼此重复。
标签: javascript ecmascript-6 es6-module-loader es6-modules