2017-09-06 158 views
1

據我所知節點JS建設過程中,你應該調用以下目標:如何爲nodejs npm設置本地reporsitory?

  1. 呼叫npm install其創建的文件夾node_modules,並把從package.json所有依賴進去。
  2. [UI開發]運行一些目標,其中將所有文件(包括node_modules)到dist文件夾。
  3. 運行像node appFile.js

我來到從Maven的世界,也有類似的依賴性概念節點JS的發展,但它並沒有「安裝」所有的依賴到項目文件夾。它把它們放到本地存儲庫中第一和移動,只有當你調用package目標項目targetdist模擬)文件夾中。爲什麼更好:

  1. 所有項目可以在一個文件夾中共享相同的文件。例如。每次都不需要將相同的依賴項複製到項目文件夾中。就在您需要打包(建設)項目
  2. 你不需要下載的依賴,每次從local repository文件夾直接複製。
  3. IDE並不需要更新十幾*_folders這樣的發展過程要快得多。

所以問題是 - 節點js是否支持以類似的方式組織項目,以避免爲每個項目創建一打node_modules

+0

請問您爲什麼downvote評論?我對nodejs瞭解不多。 – Cherry

+0

可能是因爲Java標籤。 –

+0

在Maven世界中,您有相同的概念,稱爲本地緩存。在CI環境中,您應該對每個作業執行相同的本地緩存。無論Maven還是nodejs ... – khmarbaise

回答

1

首先

不支持的NodeJS到orginize項目類似的方式,以避免打node_modules創造了每一個項目?

它支撐。

您正在尋找的答案是NPM的「-g」安裝

例子:

npm install -g lodash 

將在全球創建節點模塊,讓你的節點應用找到該模塊不會在您的根文件夾

安裝它,但我要警告你,如果包裝系統存在,它是因爲版本的問題。有時型動物項目的應用程序,你需要有不同的封裝版本,並與-g你不能

  • [UI開發]運行一些目標至極將所有文件(包括node_modules)移到dist fodler。
  • 它是不是真的「動」,這個過程中,你所描述通常是自動的,如「大口」甚至「咕嚕」,這讓您的項目以不同的方式進行修改腳本。

    1. 通常,它是用於
      • 醜化(/dev/myscript.js成爲/dist/myscript.min.js),
      • concat,則
      • 濾波器
      • jshint 等等。
    +0

    'npm install -g'可能會在CI環境中導致問題原因,這可能不被允許。 – khmarbaise