2016-09-30 120 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