我可以通过指定outFile将所有的打字稿文件连接成一个包:" /app/mybundle.js" tsconfig.json中的属性。
在创建这个包之前,我使用下面的Systemjs代码导入我的角度组件并初始化app,这很好。
<script>
System.config({
packages: { 'app': { defaultExtension: 'js' } },
});
System.import('app/myappp')
.then(null, console.error.bind(console));
</script>
但是当我创建这个包并将我的Systemjs代码更新为以下内容时:
<script>
System.config({
packages: { 'app': { defaultExtension: 'js' } },
});
System.import('/app/mybundle')
.then(null, console.error.bind(console));
</script>
我在屏幕上看到的只是加载,组件未加载/初始化。虽然我没有看到日志中的任何错误或404文件中的错误。
答案 0 :(得分:0)
实际上,在使用outFile
属性时,模块不再是匿名模块。它们是通过名称注册的,因此您无需配置SystemJS来将模块名称映射到相应的文件,即您使用packages
块执行的操作。
没有outFile
属性,在模块文件中:
System.register([ 'dep', ..., function...
使用outFile
属性,在模块文件中:
System.register('modulename', [ 'dep', ..., function...
在第二种情况下,添加了与模块名称相对应的第一个字符串参数。
这样做:
<script>
System.import('mybundle')
.then(null, console.error.bind(console));
</script>
请注意,模块名称中不再存在app
级别。