1. 程式人生 > >npm、package.json的理解和學習

npm、package.json的理解和學習

npm 是一個包管理器,它讓 JavaScript 開發者分享、複用程式碼更方便(有點 maven 的感覺哈)。

在程式開發中我們常常需要依賴別人提供的框架,寫 JS 也不例外。這些可以重複的框架程式碼被稱作包(package)或者模組(module),一個包可以是一個資料夾裡放著幾個檔案,同時有一個叫做 package.json 的檔案。

一個網站裡通常有幾十甚至上百個 package,分散在各處,通常會將這些包按照各自的功能進行劃分(類似我們安卓開發中的劃分子模組),但是如果重複造一些輪子,不如上傳到一個公共平臺,讓更多的人一起使用、參與這個特定功能的模組。

而 npm 的作用就是讓我們釋出、下載一些 JS 輪子更加方便。

我們可以去官方網站 https://www.npmjs.com/ 瀏覽、搜尋想要的輪子,也可以直接在命令列中 search 一下意中輪。

一、初步

1. package.json檔案可以手工編寫,也可以使用npm init命令自動生成。

注意:npm init 時,使用者需回答一些問題,然後在當前目錄生成一個基本的package.json檔案。所有問題之中,只有專案名稱(name)和專案版本(version)是必填的,其他都是選填的。

 

二、進一步 

欄位參考網站:http://www.mujiang.info/translation/npmjs/files/package.json.html

下面是最簡單的的一個package.json 檔案(只有兩個資料,專案名稱和專案版本,他們都是必須的,如果沒有就無法install)


指定了執行指令碼命令的npm命令列縮寫,比如start指定了執行npm run start時,所要執行的命令。

1.scripts

下面的設定指定了npm run dev、npm run bulid、npm run unit、npm run test、npm run lint時,所要執行的命令。 

在npm run dev啟動了webpack-dev-server後,編譯後的檔案並沒有輸出到webpack.config.js中配置的output輸出目標資料夾中,而是將實時編譯後的檔案儲存在記憶體中。 

webpack-dev-server   //啟動webpack-dev-server

--progress --colors    //打包進行顯示顏色

--hot  //開啟模組熱修復功能

--content-base ./dist   //設定webpack-dev-server執行的根目錄是 ./dist

--inline  //使用inline的方式進行頁面自動重新整理

--quiet  //控制檯中不輸出打包資訊

--compress  //開啟gzip壓縮


2.dependencies和devDependencies

兩項,分別指定了專案執行所依賴的模組、專案開發所需要的模組。它們都指向一個物件,該物件的各個成員,分別由模組名和對應的版本要去組成,表示依賴的模組及其版本範圍3  dependencies,devDependencies

--save引數表示將該模組寫入dependencies屬性,
--save-dev表示將該模組寫入devDependencies屬性。

 

3、config欄位

config欄位用於向環境變數輸出值。 


4.engines 欄位  

指明瞭該專案所需要的node.js版本

npm清除快取和檢視安裝包版本網站:

清除快取:https://blog.csdn.net/D_claus/article/details/84067222

檢視安裝包版本:https://blog.csdn.net/D_claus/article/details/84066231

本文參考網站:https://www.cnblogs.com/whkl-m/p/6617540.html

如有侵權,聯絡本人,刪除。