Fre*_*kle 10 module ecmascript-6 es6-module-loader es6-modules
我对这些语句中的模块说明符引用的内容感到困惑:
export {bar} from "foo";
import {bar} from "foo";
Run Code Online (Sandbox Code Playgroud)
什么"foo"
指的是?它不能是一个文件,因为它会是这样的"./foo"
.如果它不是文件,我认为它是一个ID.如何定义ID?
我正在从js文件导出,但导入将是type="module"
firefox浏览器中的内联html脚本()的一部分.
浏览器版本(和浏览器设置)已经过验证,可与es6模块配合使用.
提前致谢.
Ber*_*rgi 17
ES6未指定模块说明符所引用的内容.
确实只是:一个标识符.而已.
留给环境将这些标识符解析为实际模块.加载器可能会将它们解释为相对文件路径,全局ID,npm模块名称以及其他任何内容.
在浏览器中,<script type="module">
花了一些时间来指定,但它终于来了.模块说明符"foo"
当前无效,浏览器将忽略该模块,因为它不知道如何处理它.它需要解析为要加载的URL的内容.杰克阿奇博尔德简洁地把它包起来:
目前不支持"Bare"导入说明符.有效的模块说明符必须与以下之一匹配:
- 完整的非相对URL.如同,它通过时不会抛出错误
new URL(moduleSpecifier)
.- 从一开始
/
.- 从一开始
./
.- 从一开始
../
.其他说明符保留供将来使用,例如导入内置模块.