angular 2 package.json文件的解释

时间:2016-01-11 14:36:01

标签: javascript angularjs json node.js npm

我不愿意使用angular 2 quick start guide中提供的typescript编译器,而是使用gulp.js。但是,我对angular网站上提供的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"
  }
}

我确信可以安全地删除像tsc, tsc:w脚本命令和typescript devDependency这样的内容,但我不确定concurently依赖项和{{1}之类的目的一般来说,你们可以提供有关angular2之后的所有依赖关系的更多信息吗?我试着在快速启动指南中查找这些内容,但是没有运气,因为它们很短。

2 个答案:

答案 0 :(得分:3)

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

"start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
package.json文件中的

dependency部分允许您跟踪项目依赖性。在依赖部分中使用这些包的引用允许您使用webpack,browserify等模块捆绑器。如果新版本引入任何重大更改,它还会将您的项目链接到每个包的特定版本。在package.json中包含此部分file允许您删除要在源代码管理下的包目录(node_modules)。再次安装这些软件包让我们说另一台机器只需要package.json和dependency部分。

对于依赖关系部分中的每个包,请搜索npmjs网站以获取更多详细信息。

答案 1 :(得分:0)

使用@ nexus23的答案添加一些要点。我的回答没有完成,我知道但是为了评论它太长了所以发布回答希望这将有助于某些人。

Package.json是项目的重要文件,您可以在其中导入项目中使用的依赖项列表。 基本上有三种类型的依赖

现在已经到了这一点,即回答这个问题。我们必须包含几个依赖项才能使我们的angular2项目运行。下面列出了它。

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

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

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