Javascript 如何自动呼叫系统或AMD模块? 问题:
如何在不手动添加脚本调用已注册/定义的模块的情况下自动调用System或AMD模块 说明: 当我使用在我的Javascript 如何自动呼叫系统或AMD模块? 问题:,javascript,typescript,amd,systemjs,Javascript,Typescript,Amd,Systemjs,如何在不手动添加脚本调用已注册/定义的模块的情况下自动调用System或AMD模块 说明: 当我使用在我的tsconfig中定义的System模块生成es5文件时,我使用System.register(/*…*/)获得了预期的输出,当添加到我的页面时,它当然不会运行 有没有办法避免在HTML文件中添加脚本标记来手动调用模块 <!-- module script added above --> <script> System.get('MODULE_NAME_HERE'
tsconfig
中定义的System
模块生成es5文件时,我使用System.register(/*…*/)
获得了预期的输出,当添加到我的页面时,它当然不会运行
有没有办法避免在HTML文件中添加脚本标记来手动调用模块
<!-- module script added above -->
<script>
System.get('MODULE_NAME_HERE');
</script>
get('MODULE_NAME_HERE');
额外:
如果可以的话,我会完全放弃Amd模块。但是,当我决定在
Typescript
中使用import/export
时,需要创建一个outFile
。如果有人能解决这个问题,我就不会头疼了。谢谢。既然你提到AMD模块。。。如果您生产一系列AMD模块,您可以使用RequireJS并利用其对data main
属性的支持来启动您的应用程序:
<script src="require.js" data-main="MODULE_NAME_HERE"></script>
data main
采用单个模块名称,而deps
采用模块列表。这些方法通常用于避免仅为启动模块加载而生成额外的脚本
元素
我不知道SystemJS有任何等价物。我在GitHub上的SystemJS发行版中看到了一些关于data main
的来来回回的信息,但似乎投币式的结果是现在还没有实现它
如果在构建应用程序时知道需要加载的模块列表,则可以通过Webpack将应用程序捆绑到单个脚本中。然后,应用程序将在加载该脚本后立即启动
require.config({
...
deps: ["MODULE_NAME_HERE"],
});