我似乎无法让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,至少在实验模式下。那么为什么其他浏览器还没有支持它,至少在实验模式下呢?
答案 0 :(得分:2)
你不能。语法和契约已在ECMAScript规范中定义,但在任何主要运行时都不存在实现。
在某个平台提供内置的System
对象以及相关的模块加载之前,您仍然会遇到Webpack或与polyfill类似的东西。
虽然这可能看起来像是浏览器的一个重大遗漏,但这个功能很容易填充。
答案 1 :(得分:0)
目前,任何浏览器都不支持import
和export
ES6功能(有关更多信息,请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export)。
您需要使用可以使用这些关键字转换代码的编译器,其中最常见且使用的是babel。