在angular2中“找不到名称系统”

时间:2016-10-27 06:13:08

标签: angular typescript

我有一个路由文件,系统退出但在我的vsc中,鞋子错误找不到名称'system'。我附上了屏幕截图。enter image description here

1 个答案:

答案 0 :(得分:4)

这是因为Typescript不知道System对象。

安装SystemJS类型

npm install @types/systemjs --save-dev

tsconfig.json

下的types中添加对所列内容的引用

<强> tsconfig.json

"typeRoots": ["node_modules"]
"types": ["system"]

当然,如果您打算在浏览器中运行此代码,您还必须在应用中链接SystemJS脚本System.import()才能执行任何操作:

<强>的index.html

<script src="node_modules/systemjs/dist/system.src.js"></script>

旁注:

要从应用程序中获得最大性能,您最终可能希望使用延迟加载(仅加载用户需要的模块)。您加载其他模块的方式(使用System.import()动态加载)可能与延迟加载不兼容:Here is the recommended way

考虑更换:

path: 'inbox', loadChildren: ()=> System.import('../inbox/inbox.module')

使用:

path: 'inbox', loadChildren: 'absolute/path/to/inbox/inbox.module#InboxModule'