【问题标题】:Minimal packages required for a new Angular 2.0.0-rc.5 project?新的 Angular 2.0.0-rc.5 项目需要最少的包?
【发布时间】:2016-12-20 00:34:31
【问题描述】:

我正在从事涉及 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 ?
  }
}

【问题讨论】:

    标签: javascript angular package.json


    【解决方案1】:

    你找错树了。

    the official blog post accompanying the RC5 release中所述

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-02
      • 2016-12-22
      • 1970-01-01
      • 2016-12-20
      相关资源
      最近更新 更多