Angular 代码在 Plunker 中工作但不在 Angular CLI 项目中

Angular Code working in Plunker but not on Angular CLI project

我有一个包含这段代码的脚本:

const importer = url => Observable.fromPromise(System.import(url));

问题是,在 Angular CLI 生成的项目中,它抱怨说它不知道名称:'System' 但是如果你在一个 Plunker Angular 项目,它不会抱怨。

我知道 Plunker 在里面使用了 systemjs。

这是我在 Angular CLI 项目中收到错误的原因吗?

如果是这样,是否有解决方法,以便我可以使用 System.import 或使用替代方法?

SystemJS 是一个动态模块加载器。它广泛用于 plnkr 和其他在线代码沙箱,因为它适用于该用例 - 仅开发浏览器环境。

Angular CLI 负责打包和动态加载您的代码(在后台使用 Webpack)。它带有一个更高级的构建系统,可以生成优化的 (AOT) 生产包。

你不应该在 Angular CLI 项目中使用 SystemJS,因为如果你确实需要一些东西,你可以通过坚持默认项目配置或弹出(使用原始 Webpack 配置)来获得它的所有功能高级。

Here 是一个 GitHub 问题来确认这一点。