2016-09-30 81 views
0

我一直在使用角度1.x现在,我目前正在检查是否有可能我升级到2.0。我有两个问题Angular 2.0/NodeJS项目大小

  1. Web开发我做的是与没有任何NPM整合,没有生成选项transpile打字稿等特定应用程序服务器。这意味着我将被迫使用JavaScript版本。

  2. 我是使用NPM的新手,我遵循AngularJS 2.0的基本教程。对于只有50行代码的应用程序,整个项目在磁盘上为50 MB,因为NPM下载的所有模块都是我不需要的。这将是一个巨大的破坏者,因为我们有一个开发/质量/生产服务器。如果我们有(今天)500 KB的10个Web应用程序,它们将一起变为500 MB。运输到生产将需要很长时间。

这是真的如何工作,或者我错过了什么?

+1

我无法想象模块的所有那些50MB是实际的应用程序部署的一部分,它的很大一部分将是唯一的开发模块。 – Gimby

+0

@Gimby,这是我的观点。我怎么知道哪些是需要的,哪些不是。 'NPM安装'只是下载你通常不需要知道的全部 – Hazaart

+0

,你可以使用合适的构建管道,以便在完成babel transpiling,minifying等事情的同时为您处理。 SO并不是为了提出建议,而是研究了一种像webpack这样的工具,它是一种在“npm install”完成后接管的流行中间件。 – Gimby

回答

0

大多数NPM的模块在系统上运行,他们不会是你的web应用的一部分建立

有很多技术,如Ahead-Of-Time compilation, Tree shaking,以确保只有那些我们需要为我们的应用程序是最终版本的部分代码。

目前Angular2的“Hello world”应用程序为49KB,谷歌正在努力将其降至10KB。

看看这篇博客了解更多详情

http://blog.mgechev.com/2016/06/26/tree-shaking-angular2-production-build-rollup-javascript/

+0

我做了'npm install'后,我的项目文件夹是50 MB。我如何知道哪些文件实际需要,哪些不是。这些是我感兴趣的通过环境运输的唯一。 – Hazaart

+0

如果你正在使用'angular-cli'运行'build build -prod',那么检查'dist'目录的内容,只有这些文件最终会在浏览器中使用。我认为在AOT和treehaking之后的规模会更小 – Vamsi