[筆記] NPM (Node Package Manager)


Posted by tzutzu858 on 2020-06-28

NPM 簡介

管理 Node.js 套件的系統,主要是用別人的 library 來做一些事情
想要用 NPM 套件的話
第一步 npm init

一直按enter就好


發現有個叫 package.json 的檔案


如果要使用套件的話
譬如:mathjs - npm

按照網站裡面打 npm install mathjs 就好

從 npm 5 以後,--save 就已經變成預設的選項了,因此 npm install 不加 --save 也是可以的喔,一樣會把資訊寫到 package.json 裡面去!

安裝完後發現多了兩個檔案 : node_modules資料夾、package-lock.json

打開package-lock.json來看

裡面會紀錄你安裝的套件
dependencies 你會用到A套件,但A套件會用到B套件,B套件會用到C套件D套件。所以他會把這個 dependencies 依賴關係存成檔案,有這個檔案,下次他會知道你要安裝什麼東西,就會比較快。


package.json 打開會發現dependencies多了一個 mathjs
也就是說,會自動把你用到的套件存在 package.json


看一下node_modules資料夾裡面有什麼

發現有剛剛裝的 mathjs
其他是什麼?是 mathjs 用到的其他套件,會一併裝進來


  • 通常傳到 Github 時,我們會忽略 node_modules 這個資料夾
    因為通常這個檔案會很大,如果你裝太多套件的話。
    所以我們已經有 package-lock.jsonpackage.json 這兩個檔案去紀錄我們這個專案裝的套件,所以我們不需要把 node_modules 裡面一大堆套件傳到上面,當同事把專案抓下來,他只要執行 npm install ,NPM 就會看有什麼 dependencies 然後把它裝起來。

  • 如果新設一個子資料夾,並且安裝其他套件,用 ls -al 看,怎麼什麼都沒有,不是說好會有個 node_modules 的資料夾和 package.json ???
    這是因為,如果是在子資料夾裝的時候,他會在他的 parent 找,他在你的上層找發現有 package.json ,他會想這是個大專案,你是要裝在大專案的根目錄,所以會自動裝在根目錄那層,回去打開 package.json 是有發現剛剛裝的套件在 dependencies 裡面有出現,在下一層資料夾還是可以用,如果很堅持一定要放在下層資料夾,那就再下一次 npm init ,但其實是沒必要也不建議。

npm scripts

作用:寫好一些指令,當你用 mpm 執行你指令名稱,就會幫你執行後面的事

再舉例:

"start":"node index.js"

執行

npm run start

yarn:npm 以外的另一種選擇

由 Facebook 開發,長得很像 npm ,比較新的會用 yarn ,因為比較快
安裝官網說明

  • 抓別人專案,第一步是
    npm 是 npm install
    yarn 是 yarn

  • 裝其他套件
    npm 是 npm install <套件名稱>
    yarn 是 yarn add <套件名稱>

  • 執行 scripts
    npm 是 npm run <指令名稱>
    yarn 是 yarn run <指令名稱>

其他 yarn 用途


#npm







Related Posts

切版實戰前置作業

切版實戰前置作業

我遇過的最難的 Cookie 問題

我遇過的最難的 Cookie 問題

MTR04_0703

MTR04_0703


Comments