如何导入html中<script type =“module”>标签中定义的es6模块?

时间:2017-12-26 18:14:07

标签: javascript html es6-modules

我可以在我的html文件me.html中定义一个模块:

&#xA;&#xA;
 &lt; script type =“module”id =“DEFAULT_MODULE”&gt ; &#XA;从'./atom.js'导入Atom; &#XA; console.log(“getAtom的定义”)&#xA; export default function getAtom(){&#xA;返回新的Atom('atom');&#xA; }&#XA; console.log(“export getAtom”)&#xA;&lt; / script&gt;&#xA;  
&#xA;&#xA;

另见

&#xA ;&#xA; &#xA;&#xA;

=>是有可能将“匿名”模块导入同一个html文件中的另一个模块脚本吗?或者某些“代码隐藏” - 也是由me.html文件加载的JavaScript文件?出口似乎有效;至少它不会抛出任何错误。

&#xA;&#xA;

为了导入 getAtom 方法,我尝试了例如:

&#xA;&#xA;
 < code>&lt; script type =“module”&gt;&#xA;从'。'导入getAtom; //此行不起作用&#xA; console.log(“getAtom的用法”)&#xA; var atom = getAtom(); &#xA;&lt; / script&gt;&#xA;  
&#xA;&#xA;

我希望有一些语法,比如

&#xA;&#xA;
  import getAtom;&#xA;从'。';&#xA;导入getAtom;从窗口导入getAtom;&#xA;从'./me.html';&#xA导入getAtom;从'.DEFAULT_MODULE'导入getAtom;&#xA;  
&#xA;&#xA;

然而,这些行都不起作用。

&#xA;&#xA;

=>如果可能的话,引用“匿名”模块的正确语法是什么?

&#xA;&#xA;

我使用Chrome版本63.0.3239.108。

&#xA;&#xA;

相关问题:

&#xA;& #xA;

如何动态执行/评估包含ES6模块的JavaScript代码/需要一些依赖项?

&#xA;

1 个答案:

答案 0 :(得分:2)

据我所知,没有办法导入“匿名”模块,因为“匿名”模块没有模块说明符或个别网址(其import.meta.url只是当前规范的html网址)。理论上它可以在将来扩展,但我找不到这种功能的好用例。