javascript - 如何使用 npm 以最少的所需文件启动 Angular2 项目?

标签 javascript npm angular

我正在关注 Angular2 quickstart 并使用 Node 包管理器安装了所需的库:https://angular.io/guide/quickstart

创建了一个 package.json:

{
  "name": "angular2-quickstart",
  "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"
  }

执行

npm install

但是 npm install 命令会下载很多文件,例如“node_modules\angular2”是 32MB(可能包括原始资源和其他东西?),虽然 index.html 只需要其中的几个,例如 angular2.dev.js 只有 1MB:

<!-- 1. Load libraries -->
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script>
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>

我希望快速启动项目不会占用这么多磁盘空间。 有没有办法告诉 npm 只下载“ bundle ”或最小化版本,或者有没有办法在生产打包时优化 node_modules 目录?

最佳答案

您可以使用这些文件的 cdn 版本并在开发中使用 node_modules 并且根本不要将它们包含在生产中:

<script src="https://rawgithub.com/systemjs/systemjs/0.19.6/dist/system.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/Rx.js"></script>
<script src="https://code.angularjs.org/2.0.0-beta.0/angular2.dev.js"></script>

看看这个问题和答案中的评论: Angular 2 required libraries

这也是您可以使用的最小的 package.json(取决于您的设置):

{ “依赖”:{ "angular2": "2.0.0-beta.0", “systemjs”:“0.19.6” } }

我正在使用 Webstorm,它会启动自己的服务器并在检测到 tsconfig.json 文件时自行编译 typescript 。

因此,如果您没有自己的服务器,则需要添加 lite-server 依赖项、配置和脚本,如果您没有 ts 编译器,则必须添加 typescript 依赖项和脚本还有:

“devDependencies”:{ “ typescript ”:“^1.7.3” },

关于javascript - 如何使用 npm 以最少的所需文件启动 Angular2 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34650317/

相关文章:

node.js - 我收到以下错误 - NPM 错误 : debug module is not working

javascript - 'ng build' 包含子文件夹中的所有脚本

angular - 使用 NPM 创建 Angular2 项目的生产构建

javascript - Firebase - 使用附加数据填充属性/数组

javascript - 如果文本框有文本,jquery 隐藏复选框

javascript - 无法让 Ext.ux.grid.Search 在 extjs 4.2 中工作

javascript - jQuery JSON循环遍历嵌套对象

javascript - Cardlist 未定义 no-undef

javascript - 比较转换时间格式的时间

node.js - 如何在Windows 8.1上安装nodejs依赖项?