npm init的作用
在node開發中使用npm init會生成一個package.json文件,
這個文件主要是用來記錄這個項目的詳細信息的,它會將我們在項目開發中所要用到的包,以及項目的詳細信息等記錄在這個項目中。
方便在以后的版本迭代和項目移植的時候會更加的方便。
也是防止在后期的項目維護中誤刪除了一個包導致的項目不能夠正常運行。
使用npm init初始化項目還有一個好處就是在進行項目傳遞的時候不需要將項目依賴包一起發送給對方,對方在接受到你的項目之后再執行npm install就可以將項目依賴全部下載到項目里
package.json 文件配置說明
- name:項目/模塊名稱,長度必須小於等於214個字符,不能以"."(點)或者"_"(下划線)開頭,不能包含大寫字母。
- version:項目版本。
- author:項目開發者,它的值是你在https://npmjs.org網站的有效賬戶名,遵循“賬戶名<郵件>”的規則,例如:zhangsan zhangsan@163.com。
- description:項目描述,是一個字符串。它可以幫助人們在使用npm search時找到這個包。
- keywords:項目關鍵字,是一個字符串數組。它可以幫助人們在使用npm search時找到這個包。
- private:是否私有,設置為 true 時,npm 拒絕發布。
- license:軟件授權條款,讓用戶知道他們的使用權利和限制。
- bugs:bug 提交地址。
- contributors:項目貢獻者 。
- repository:項目倉庫地址。
- homepage:項目包的官網 URL。
- dependencies:生產環境下,項目運行所需依賴。
- devDependencies:開發環境下,項目所需依賴。
- scripts:執行 npm 腳本命令簡寫,比如 “start”: “react-scripts start”, 執行 npm start 就是運行 “react-scripts start”。
- bin:內部命令對應的可執行文件的路徑。
- main:項目默認執行文件,比如 require(‘webpack’);就會默認加載 lib 目錄下的 webpack.js 文件,如果沒有設置,則默認加載項目跟目錄下的 index.js 文件。
- module:是以 ES Module(也就是 ES6)模塊化方式進行加載,因為早期沒有 ES6 模塊化方案時,都是遵循 CommonJS 規范,而 CommonJS 規范的包是以 main 的方式表示入口文件的,為了區分就新增了 module 方式,但是 ES6 模塊化方案效率更高,所以會優先查看是否有 module 字段,沒有才使用 main 字段。
- eslintConfig:EsLint 檢查文件配置,自動讀取驗證。
- engines:項目運行的平台。
- browserslist:供瀏覽器使用的版本列表。
- style:供瀏覽器使用時,樣式文件所在的位置;樣式文件打包工具parcelify,通過它知道樣式文件的打包位置。
- files:被項目包含的文件名數組