2016-04-29 57 views
1

當我使用bower或npm下載一個軟件包時,許多不相關/無用的文件也被包含在npm軟件包中,尤其是 。我通常只包含該包的.css或.js文件,例如在bootstrap e.t.c中但對於包裝如聚合物或Anjular.js或電子我們也需要多個其他文件。所以當我部署我的項目時,我應該包含完整的文件夾,還是單獨複製所需的文件,或者是否有其他方法?我應該在我的web項目中包含整個bower_components和node_modules文件夾嗎?

+0

是的好事是包括他們,因爲你正在安裝一些由其他人開發的插件。所以如果你喜歡過濾,依賴可能會影響和運行問題。讓默認的文件夾結構保留..有時候會有一堆插件中的scrapy文件,但是他們在開發時有其原因.. – Prasad

+0

但是然後所有大小的項目都會太大。 – Nikhil

+0

我想知道你是如何部署的。如果你想部署包括依賴關係,你所想的方式是好的。我的建議是嘗試與Heroku它是免費的,很好的部署角應用程序。我們使用它,並且沒有插件負載的空間問題 – Prasad

回答

0

當您部署到生產服務器時,一個好方法是僅包含實際使用的文件。您還應該創建一個優化的文件以服務於客戶端。 爲了達到這個目的,您通常會有一個部署腳本,用於生成一個或多個縮小的.css或.js文件(例如,用於庫的vendor.js和用於代碼的bundle.js)。

該腳本可以使用工具來樣訂做gruntgulp或者你可以使用一個模塊捆綁像WebpackJspm

您可以創建自己的Grunt或Gulp腳本,如this website中的腳本。

當使用一個模塊捆綁和現代的JavaScript來組織你的代碼,你會建造,例如入口javascript文件(bundle.js),將看起來像

import {MyLibrary} from 'my-library'; 
import {AnOtherLibrary} from 'an-other-library'; 

console.log(MyLibrary.saySomething()); 

在這種情況下,的WebPack處理node_modules導入以及.js文件生產版本的創建/縮小/拼接。

如您所說,有多個文件需要包含(js,css甚至字體),因此配置腳本可能需要一些時間。嘗試找到使用您的框架的Yeoman generator,並使用其他已經爲此創建的其他腳本。 This one使用AngularJS,Bower和Grunt。 This one使用Webpack和ReactJS。

相關問題