Javascript 如何导入<;中定义的es6模块;脚本类型=";模块"&燃气轮机;html中的标签?
我可以在我的html文件me.html中定义一个模块:Javascript 如何导入<;中定义的es6模块;脚本类型=";模块"&燃气轮机;html中的标签?,javascript,html,es6-modules,Javascript,Html,Es6 Modules,我可以在我的html文件me.html中定义一个模块: <script type="module" id="DEFAULT_MODULE"> import Atom from './atom.js'; console.log("definition of getAtom") export default function getAtom(){ return new Atom(
<script type="module" id="DEFAULT_MODULE">
import Atom from './atom.js';
console.log("definition of getAtom")
export default function getAtom(){
return new Atom('atom');
}
console.log("exported getAtom")
</script>
我希望有一些语法,比如
import getAtom;
import getAtom from '.';
import getAtom from window;
import getAtom from './me.html';
import getAtom from '.DEFAULT_MODULE';
然而,这些线路都不起作用
=>如果可能,引用“匿名”模块的正确语法是什么
我使用Chrome版本63.0.3239.108
相关问题:
据我所知,无法导入“匿名”模块,因为“匿名”模块没有模块说明符或单独的url(其
import.meta.url
只是当前规范中的html url)。理论上,它可以在将来扩展,但我找不到这种功能的好用例。从HTML文件从codebehind导入?我不这么认为。这是一个丑陋的编码,我看不到任何模块类型的脚本标记的用法。这只会把事情弄得一团糟。请参阅相关问题以了解用法示例。如果你知道的话,我愿意接受一些不那么难看的替代方案。在运行时添加
标记允许动态地包含ES6模块。但是,无法访问它们的导出
。这使得应用动态包含的代码(结果)变得很困难。另一种解决方案可能是未来的eval
方法,该方法支持import
语句。请参阅上述相关问题,并让我知道目前是否有更好的动态代码执行替代方案。该用例将用于在浏览器中动态生成的代码。我正在开发一种IDE/语言,它有自己的AST,可以使用@babel/generator
编译成JavaScript,但是我很难弄清楚如何将此代码的结果与应用程序的其余部分合并。您可以尝试使用数据url或createObjectURL
,并将结果url分配给src
属性。
import getAtom;
import getAtom from '.';
import getAtom from window;
import getAtom from './me.html';
import getAtom from '.DEFAULT_MODULE';