angular 2 package.json文件的说明

我不愿意使用angular 2快速入门指南中提供的打字稿编译器,而是使用gulp.js。 然而,我有几个关于在an​​gular website上提供的package.json文件的问题:

{ "name": "angular-starter", "version": "1.0.0", "scripts": { "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", "start": "concurrent \"npm run tsc:w\" \"npm run lite\" " }, "license": "ISC", "dependencies": { "angular2": "2.0.0-beta.0", "systemjs": "0.19.6", "es6-promise": "^3.0.2", "es6-shim": "^0.33.3", "reflect-metadata": "0.1.2", "rxjs": "5.0.0-beta.0", "zone.js": "0.5.10" }, "devDependencies": { "concurrently": "^1.0.0", "lite-server": "^1.3.1", "typescript": "^1.7.3" } } 

我相信很less有像tsc, tsc:w脚本命令和typescript devDependency这样的命令可以被安全地删除,但是我们不确定像通常的依赖性和dependency这样的东西的目的,你们能否提供更多的信息遵循angular2的依赖关系? 我试图沿着附录在快速入门指南中查找这些内容,但由于它们很短,所以没有运气。

一致的是npm包,它允许一次运行多个CLI命令,请参阅package.json中的下面的行。 concurrent命令来自并发。 你可以安全地删除它。

 "start": "concurrent \"npm run tsc:w\" \"npm run lite\" " 

package.json文件中的dependency部分允许您跟踪项目依赖关系。 在依赖部分使用这些包的引用允许您使用模块打包器,如webpack,browserify等。如果新版本引入了任何中断更改等,它还使您的项目链接到每个包的特定版本。在package.json中拥有此部分文件允许您删除软件包目录(node_modules),以便在源代码控制之下。 再次安装这些软件包可以说,另一台机器只需要package.json和dependency部分。

对于每个包在依赖部分searchnpmjs网站的更多细节。

用@nexus23的答案来补充一点。 我的答案是不完整的我知道,但评论它太长,所以张贴为答复希望这将有助于somene。

Package.json是项目的重要文件,用于导入您在项目中使用的依赖关系列表。 基本上有三种types的依赖关系

  • 依赖
  • DevDependency
  • peer的更多文档的依赖关系请参考这里的答案。

现在来回答这个问题。 有很less的依赖,我们必须包括使我们的angular2项目运行,下面列出。

  1. angular2 – 是angular2项目的基本文件。 这是我们项目最重要的文件。 (稳定的最新版本是angular2testing版)

  2. systemjs – 通用dynamic模块加载器 – 在浏览器和NodeJS中加载ES6模块,AMD,CommonJS和全局脚本。 适用于Traceur和Babel。 我们使用systemjs Config来设置baseUrl,在我们的主文件(如index.html)中to Import main file等,如下所示:

    <script> System.config({ baseURL: '<%= APP_BASE %>', paths: {'*': '*.js?v=<%= VERSION %>'}, defaultJSExtensions: true }); </script>