Javascript 如何自动呼叫系统或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'

如何在不手动添加脚本调用已注册/定义的模块的情况下自动调用System或AMD模块

说明: 当我使用在我的
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"],
});