npm package.json配置整理

通過npm init 創建 package.json文件

參數:

name:項目名字

version: 版本號

description: 項目介紹

main: 項目的入口文件

scripts: npm提供給我們運行shell命令的入口

author:作者

license:標註我們項目的許可證權限,如果不想開源({"license":"UNLICENSED"}或{"private":true})

dependencies:項目運行時必要依賴,

peerDependencies: 針對特定版本開發

devDependencies:項目開發時所需依賴

homepage:項目主頁的網址

files:將軟件包作爲依賴項安裝時要包含的條目

完整的package.json

{
  "name": "Hello World",  //name屬性就是你的模塊名稱
  "version": "0.0.1", //version必須可以被npm依賴的一個node-semver模塊解析
  "author": "張三",  //"author"是一個碼農
  "description": "第一個node.js程序", //一個描述,方便別人瞭解你的模塊作用,搜索的時候也有用。
  "mian":"index.js", //main屬性指定了程序的主入口文件.
  "keywords":["node.js","javascript"],  //一個字符串數組,方便別人搜索到本模塊
  "repository": { //指定一個代碼存放地址,對想要爲你的項目貢獻代碼的人有幫助。
    "type": "git",
    "url": "https://path/to/url"
  },
  "license":"MIT", //你應該爲你的模塊制定一個協議,讓用戶知道他們有何權限來使用你的模塊,以及使用該模塊有哪些限制,如BSD-3-Clause 或 MIT之類的協議
  "engines": {"node": "0.10.x"},
  "bugs":{ //填寫一個bug提交地址或者一個郵箱,被你的模塊坑到的人可以通過這裏吐槽
    "url":"https://github.com/luoshushu",
    "email":"[email protected]"
    }, 
  "contributors":[{"name":"李四","email":"[email protected]"}], // "contributors"是一個碼農數組。
  "scripts": { //指定了運行腳本命令的npm命令行縮寫。比如:輸入npm run start時,所要執行的命令是node index.js。
    "start": "node index.js"
  },
  "dependencies": { //指定了項目運行所依賴的模塊
    "express": "latest",
    "mongoose": "~3.8.3",
    "handlebars-runtime": "~1.0.12",
    "express3-handlebars": "~0.5.0",
    "MD5": "~1.2.0"
  },
  "dependencies": {  //指定了項目運行所依賴的模塊 
    "axios": "0.18.1",          //精確匹配版本
    "core-js": ">3.6.5",        //大於某個版本
    "element-ui": ">=2.13.2",   //大於等於某個版本
    "js-cookie": "<2.2.0",      //小於
    "normalize.css": "<=7.0.0", //小於等於
    "nprogress": "~0.2.0",      //"約等於",匹配前符合前兩位的最新版本
    "path-to-regexp": "^2.4.0", //"兼容版本",匹配兼容的最新版本,即匹配符合第一位的最新版本
    "vue": "2.6.x",             //匹配前兩位,僅支持2.6點幾的版本,效果等同【~】
    "vue-router": "3.x",        //匹配第一位,僅支持3點幾的版本,效果等同【^】 
    "vuex": "latest"            //匹配最新版本  
  },
  "devDependencies": { //指定項目開發所需要的模塊
    "bower": "~1.2.8",
    "grunt": "~0.4.1",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-jshint": "~0.7.2",
    "grunt-contrib-uglify": "~0.2.7",
    "grunt-contrib-clean": "~0.5.0",
    "browserify": "2.36.1",
    "grunt-browserify": "~1.3.0",
  }
}

 

npm的版本號說明

version1.15.2對應就是MAJOR,MINOR.PATCH1marjor version15minor version2patch version

MAJOR:這個版本號變化了表示有了一個不可以和上個版本兼容的大更改。

MINOR:這個版本號變化了表示有了增加了新的功能,並且可以向後兼容。

PATCH:這個版本號變化了表示修復了bug,並且可以向後兼容。

因爲major version變化表示可能會影響之前版本的兼容性,所以無論是波浪符號還是插入符號都不會自動去修改major version,因爲這可能導致程序crush,可能需要手動修改代碼

更多package.json的文件說明,請參考https://www.cnblogs.com/tzyy/p/5193811.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章