新的Angular 2.0.0-rc.5项目需要最少的包吗?

时间:2016-08-12 22:42:46

标签: javascript angular package.json

我正在开展涉及Angular 2的第二个项目。在第一个Angular 2项目升温后,在从Angular 1.5跳转的同时,我对如何减少包裹感兴趣。我想知道在不失去核心功能的情况下,我可以从package.json文件中删除哪些内容。每个软件包的贡献是什么?我应该提供什么?

这是我到目前为止所理解的:

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
    "lite": "lite-server", // I use Webstorm, Visual Studio or Xampp
    "postinstall": "typings install", // ???
    "tsc": "tsc",
    "tsc:w": "tsc -w", // Maybe I will keep
    "typings": "typings"
  },
  "license": "ISC",
  "dependencies": {
    "@angular/common": "2.0.0-rc.5", // ng-if, ng-for seem to reside in here
    "@angular/compiler": "2.0.0-rc.5", // renders the templates
    "@angular/core": "2.0.0-rc.5", // :)
    "@angular/forms": "0.3.0", // I could manage without, I use custom css
    "@angular/http": "2.0.0-rc.5", // Need it
    "@angular/platform-browser": "2.0.0-rc.5", // ???
    "@angular/platform-browser-dynamic": "2.0.0-rc.5", // ???
    "@angular/router": "3.0.0-rc.1", // Need it
    "@angular/router-deprecated": "2.0.0-rc.2", // Nope
    "@angular/upgrade": "2.0.0-rc.5", // Nope
    "systemjs": "0.19.27", // importing modules
    "core-js": "^2.4.0", // Some polyfills, Does Chrome 52.0 needs it?
    "reflect-metadata": "^0.1.3", // Decorators ??
    "rxjs": "5.0.0-beta.6", // depdency for EventEmitter 
    "zone.js": "^0.6.12", // data bindings don't work wihtout
    "angular2-in-memory-web-api": "0.0.15", // ???
    "bootstrap": "^3.3.6" // No need, I do all my css hand forged to perfection.
  },
  "devDependencies": {
    "concurrently": "^2.0.0", // Nope
    "lite-server": "^2.2.0", // Nope
    "typescript": "^1.8.10", // Nope ? I learned that Webstorm can do this job
    "typings":"^1.0.4" // Nope ?
  }
}

1 个答案:

答案 0 :(得分:3)

你正在咆哮错误的树。

the official blog post accompanying the RC5 release

中所述
  

大约60%的Angular代码大小是编译器[...]因此启用AoT编译意味着您不必将该代码发送给您的用户

如果您最关心的是通过线路最小化字节,我建议通过将AoT编译合并到您的构建过程中来学习如何利用这一点(就您的问题而言,这将允许您删除compiler和生产包中的platform-browser-dynamic个模块)

同样值得注意的是,在最终版本is one of the major focuses for RC6的准备中修剪这些模块的大小,所以恕我直言,你正在做RC5的工作主要是浪费时间。