如何检测es6模块的功能

时间:2015-01-13 12:29:50

标签: javascript ecmascript-6

我只想在当前运行时支持使用ES6语法导出模块。目标是开发一个支持不同模块管理系统的库。

由于export是一个关键字,类似的东西会抛出语法错误:

typeof export

3 个答案:

答案 0 :(得分:5)

该规范的

Revision 27Reflect.Loader API,可用于模块反射。

虽然这不是导出关键字本身的直接特征检测,但是可能可以加载一个使用data-uri中的导出关键字的模块,然后检查它是否会抛出解析错误。 / p>

但它已被修订版28删除,并带有以下更改日志条目:

  

删除了loader管道和Reflect.Loader API(功能转移到单独的规范)


因此,据我所知,该规范在撰写本文时似乎没有提供任何特征检测方法。

将来可能会使用Reflect.Loader或其替代品。

编辑:loader spec似乎是由whatwg开发的,但它尚未处于我们可以从中获取特征检测的状态。

答案 1 :(得分:2)

使用


'noModule' in HTMLScriptElement.prototype

ref

答案 2 :(得分:1)

检查“ noModule”属性:

document.currentScript && "noModule" in document.currentScript;