Javascript 如何使用npm以最少的文件启动Angular2项目?

Javascript 如何使用npm以最少的文件启动Angular2项目?,javascript,npm,angular,Javascript,Npm,Angular,我遵循Angular2 quickstart并使用Node package manager安装了所需的库: 创建了一个package.json: { "name": "angular2-quickstart", "version": "1.0.0", "scripts": { "tsc": "tsc", "tsc:w": "tsc -w", "lite": "lite-server", "start": "concurrent \"npm run ts

我遵循Angular2 quickstart并使用Node package manager安装了所需的库:

创建了一个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只下载“捆绑包”或最小化版本,或者在打包生产时有没有办法优化node_模块目录

您可以从
package.json
中删除不必要的依赖项。另外,在打包用于生产时,
devDependencies
部分中声明的依赖项不捆绑。

您可以使用这些文件的cdn版本,并在开发中使用节点单元模块,而不将它们包括在生产中:

<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>

看看这个问题和答案中的评论:

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

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

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

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

“开发依赖性”:{
“类型脚本”:“^1.7.3”

},

您可以使用
ng新的barebones应用程序--minimal

值得注意的是,quickstart为功能节点服务器安装了许多依赖项,如果您打算使用其他服务器技术,这些依赖项可能是不必要的。例如,您不会在生产环境中安装typescript或lite服务器。对于快速启动项目并立即看到结果来说,这是完美的。快速启动不能充分覆盖服务器堆栈的所有可能组合,因此它必须包含一些基本内容。当然,你不必使用它包含的内容。