2017-10-16 78 views
2

以前我會在服務器端使用NPM,在前端使用Bower。 NPM將安裝到node_modules/目錄,我有一個.bowerrc這些包安裝到public/lib如何爲後端和前端使用一個包管理器? (Yarn/NPM)

現在我已經開始用紗線,而不是NPM;並且因爲它們幾乎是1:1兼容,所以它一直是一個平穩的變化..但是,現在我想知道如果我可以溝渠鮑爾,只是使用紗線的一切。但我沒有看到一種方法(在NPM或Yarn中)將常規軟件包安裝到node_modules,但是然後有一種單獨的選項來放置一些軟件包在public/中......類似於--dev選項的東西,但相反它將是yarn add jquery --public 。有這樣的事嗎?

當然,一種選擇是將所有軟件包安裝到public/目錄,但我認爲這是一個不好的做法(糾正我,如果我錯了)。

另一種選擇可能是在public/文件夾中有一個單獨的package.json文件夾,並在其中爲前端程序包運行單獨的Yarn命令,但我認爲這樣做有點不方便;更容易出錯。

+1

我個人從後端文件夾分開公用文件夾和分別管理的依賴關係。這將使您更好地瞭解每個'項目'的依賴關係。 – Abdel

+0

如果您使用grunt/gulp等構建工具來連接/縮小您的東西,那麼您可以使用npm進行安裝,並將您的grunt配置指向'node_modules'。 –

回答

3

的規範幾乎是一樣的東西:

  1. 通過yarn
  2. 安裝軟件包使用任務運行如gulp,或模塊加載&打捆如webpack創建你所需要的包。
    • 這一切都取決於你的堆棧,顯然有其他人,例如在過去,我已經使用.NET的本地捆綁,你可以實現與gulp/webpack一樣...再次這是給你的決定。

它的要點是,(使用包管理安裝在一箇中心位置的所有模塊,然後 具有裝載機或其它工藝抓鬥和移動所需資產到您需要使用它們的位置。

我建議你在看看一個kickstart項目(與您使用的堆棧),例如:我用: 與成功的過去Fountainjs,或可考慮Yeoman如果噴泉犯規打你看中

在僞指令(FYI噴泉是建立在約曼的頂部。):

1. yarn install  /// installs all assets 
2. gulp build  /// cleans out current public folder, bundles & copies new 
3. gulp serve  /// runs your app