我正在通过Angular2 Tour of Heroes tutorial并且遇到了一个奇怪的障碍。我搞砸了,意外地找到了一个名为heroes.component.ts.js的文件。我知道这个文件不存在,因为我删除了它,但我一直收到404错误http://localhost:3000/app/heroes.component.ts.js 404 (Not Found)
。我在浏览器和typescript编译器输出中看到它。
我尝试在系统初始化脚本块中使用System.delete函数无效:
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.delete('app/heroes.component.ts.js');
System.import('app/main')
.then(null, console.error.bind(console));
</script>
我正在使用chrome并且dev工具打开,所以我知道它没有在浏览器中缓存 - 我怎么告诉systemjs忘记heroes.compnent.ts.js或以其他方式摆脱这个烦人的错误?
答案 0 :(得分:1)
使用您的配置,您可以按需加载模块,因此您的应用程序中仍然必须具有类似的功能:
import {...} from 'app/heroes.component.ts';
或
import {...} from './heroes.component.ts';
js
后缀会自动添加到SystemJS中带有app
开头的软件包的模块名称中
删除导入应解决您的问题。
答案 1 :(得分:1)
检查main.ts并在其他文件中搜索heroes.component.ts字符串。 在我的情况下,当我将app.component.ts重命名为heroes.component.ts时,我的编辑器(WebStorm)也改变了在main.ts中导入AppComponent的路径
答案 2 :(得分:0)
您是否尝试System.delete('app/heroes.component.js');
或尝试完整路径。
https://github.com/devslopes/angular2-skeleton/blob/master/node_modules/systemjs/docs/system-api.md
第二个你在某处导入了这样的东西吗?那也可能是错误。
import {{xx}} from 'app/heroes.component.ts.js';
OR
import {{xx}} from 'app/heroes.component.ts';