如何让ES6 / 2015导入/模块在浏览器中运行?

时间:2016-09-06 20:04:03

标签: javascript ecmascript-6 es6-module-loader es6-modules

我似乎无法让ES6/2015 imports工作。从this Understanding ECMAScript 6 book开始,我了解到我需要使用<script> type属性编写modules代码:

<script type="module" src="module.js"></script>

然后我可以在import中使用module.js。但是,它不适用于最新的Firefox(v48.0.1)和Chrome(v53.0.2785.89)。当我在console.log中添加module.js语句时,没有任何内容记录到控制台。

如何在浏览器中使用ES2015的导入机制(本机,不使用像babel / webpack这样的东西)?

更新 :看起来像Microsoft's Edge browser supports modules,至少在实验模式下。那么为什么其他浏览器还没有支持它,至少在实验模式下呢?

2 个答案:

答案 0 :(得分:2)

你不能。语法和契约已在ECMAScript规范中定义,但在任何主要运行时都不存在实现。

在某个平台提供内置的System对象以及相关的模块加载之前,您仍然会遇到Webpack或与polyfill类似的东西。

虽然这可能看起来像是浏览器的一个重大遗漏,但这个功能很容易填充。

答案 1 :(得分:0)

目前,任何浏览器都不支持importexport ES6功能(有关更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export)。

您需要使用可以使用这些关键字转换代码的编译器,其中最常见且使用的是babel