我正在尝试使用 Angular2 快速入门指南、Visual Studio 2015、TypeScript、NPM 和 gulp 设置一个工作项目。 (Angular2 2.0.0-rc.3、TypeScript 1.8.10、npm 3.6.0 和 gulp 3.9.1)
按照互联网上的指南,有一些我不太明白的地方,有解释会非常有帮助。
NPM 允许我们获取需要加载到应用程序中的最新模块。这意味着我需要使用 package.json 文件安装依赖项,如下所示:
"dependencies": {
"@angular/common": "2.0.0-rc.3",
...
"reflect-metadata": "^0.1.3",
"rxjs": "5.0.0-beta.6",
"systemjs": "0.19.27",
"zone.js": "^0.6.12"
},
...
安装后,我需要使用 gulp 将这些文件提供到我的根文件夹 (wwwroot),这非常有意义。
之后,我需要根据我的应用程序需求配置 systemJS,以便它知道从哪里加载文件。
然后,按照快速入门,我需要设置要导入到我的 index.html 文件中的脚本。
我不明白的是,为什么我们要手动导入这 3 个脚本,而我们可以在 systemJS 配置文件中设置它们?
(我正在谈论这些:
- node_modules/core-js/client/shim.min.js
- node_modules/reflect-metadata/Reflect.js
- node_modules/zone.js/dist/zone.js
)
仅仅是因为它是一个示例项目,因此可以按照这种方式进行,还是有更好的理由?
我认为这只是因为我们需要这些单个文件,而像 @angular 这样的包包含很多文件,使用 systemJS 更容易管理?
我知道这意味着我对这个主题知之甚少,任何帮助都会非常好。 我已阅读此链接( https://angular.io/guide/quickstart ),它对我有一点帮助,但我认为我错过了一些东西......
谢谢
亚历克斯
最佳答案
这些模块是“静态”的(shim/polyfills,反射(reflect)类元数据和区域的元数据),不需要参与模块管理。这就是为什么它们是在 SystemJS 外部配置的。
关于node.js - 关于与 npm/gulp 脚本集成的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38127703/