1. 程式人生 > >package.json 詳解

package.json 詳解



package.json檔案描述了一個NPM包的所有相關資訊,包括作者、簡介、包依賴、

構建等資訊。格式必須是嚴格的JSON格式。

通常我們在建立一個NPM程式時,可以使用npm init命令,通過互動式的命令,
自動生成一個package.json檔案,裡面包含了常用的一些欄位資訊,但遠不止這
麼簡單。通過完善package.json檔案,我們可以讓npm命令更好地為我們服務。
如果你有個新的專案,還沒有下載過任何的npm包,而需要的npm包跟前一個專案差不多。
那麼,你可以把這個專案裡面的package.jn拷貝到當前專案根目錄。然後npm install,
\所有的依賴包就會自動的下載完畢了!
{
  //必須,標識;不能包含node,js等欄位;將會是url的一部分
//命令列的引數,目錄名。所以不能移點號和下劃線開頭 "name": "webpack-react", //name和version組成的標識是唯一的,改變包的時候應該同時改變version "version": "1.0.0", //簡介,方便npm search中查詢 "description": "", //程式入口模組的id,呼叫此包時,返回的是該模組(index)的匯出(export) "main": "server.js", /* *repository: 程式碼存放地址 可選欄位 */ "repository": "git://github.com/panqianjin/hello.git"
, //同description 可選欄位 "keywords": [ "test", "cortex" ], //普通licesnse可直接使用 你應該要指定一個許可證,讓人知道使用的權利和限制的。 // 如果你有更復雜的許可條件,或者想要提供給更多地細節,可以這樣: /* "licenses" : [ { "type" : "MyLicense" , "url" : "http://github.com/owner/project/path/to/license" } ] */ "license": "MIT", //當前包所依賴的其他包。即生產環境 "dependencies"
: { "babel-preset-react": "^6.5.0", "react": "^0.14.7", "react-dom": "^0.14.7", "webpack": "^1.12.15" }, // 外部測試或文件框架。即測試環境依賴 // 如果只需要下載使用某些模組,而不下載這些模組的測試和文件框架, // 放在這個下面比較不錯 "devDependencies": { "babel-core": "^6.7.2", "babel-loader": "^6.2.4", "babel-preset-es2015": "^6.6.0", "babel-preset-stage-1": "^6.5.0", "css-loader": "^0.23.1", "file-loader": "^0.8.5", "html-webpack-plugin": "^2.14.0", "less-loader": "^2.2.3", "react-hot-loader": "^1.3.0", "style-loader": "^0.13.0", "webpack-dev-server": "^1.14.1" }, //engines: 既可以指定node版本也可以指定npm版本 "engines": { "node": ">=0.10.0" }, // *script 由指令碼命令組成的hash物件在包不同生命週期執行 * // key 時生命週期事件,value時要執行的命令 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "start_html":"webpack --config webpack.html.config.js", "start_es6":"webpack --config webpack.es6.config.js", "start_react":"webpack --config webpack.react.config.js", "start_todo":"webpack --config webpack.todo.config.js", "build":"webpack-dev-server --port 3000 --hot --inline", "build_es6":"webpack-dev-server --port 4000 --hot --inline --config webpack.es6.config.js", "build_todo":"webpack-dev-server --port 4000 --hot --inline --config webpack.todo.config.js" }, /* *homepage:專案官網 可選欄位*/ "homepage": "http://github.com/panqianjin/hello" "author": { "name": "qianjin.pan", "email": "[email protected]" }, //問題追蹤系統的url或者郵箱 可選欄位 "bugs": { "url": "http://github.com/panqianjin/hello/issues" }, // 指定你的包可以在哪些系統平臺下執行 "os": [ "darwin", "linux", "!win32" ], // 可以指定包執行的cpu架構 "cpu": [ "x64", "!arm" ] } /* "scripts": { "start": "node server.js" } 如果在專案根目錄下含有server.js 檔案,則NPM會自動設定此值。 "scripts": { "preinstall": "node-gyp rebuild" } 如果在專案根目錄下含有binding.gyp檔案,則NPM會自動設定此值 */

package.json檔案描述了一個NPM包的所有相關資訊,包括作者、簡介、包依賴、構建等資訊。格式必須是嚴格的JSON格式。

通常我們在建立一個NPM程式時,可以使用npm init命令,通過互動式的命令,
自動生成一個package.json檔案,裡面包含了常用的一些欄位資訊,但遠不止這
麼簡單。通過完善package.json檔案,我們可以讓npm命令更好地為我們服務。
如果你有個新的專案,還沒有下載過任何的npm包,而需要的npm包跟前一個專案差不多。
那麼,你可以把這個專案裡面的package.jn拷貝到當前專案根目錄。然後npm install,
\所有的依賴包就會自動的下載完畢了!
{
  //必須,標識;不能包含node,js等欄位;將會是url的一部分
  //命令列的引數,目錄名。所以不能移點號和下劃線開頭
"name": "webpack-react",
  //name和version組成的標識是唯一的,改變包的時候應該同時改變version
"version": "1.0.0",
  //簡介,方便npm search中查詢
"description": "",
  //程式入口模組的id,呼叫此包時,返回的是該模組(index)的匯出(export)
"main": "server.js",
  /*    *repository: 程式碼存放地址  可選欄位 */
"repository": "git://github.com/panqianjin/hello.git",
  //同description 可選欄位
"keywords": [ "test",  "cortex" ],
  //普通licesnse可直接使用 你應該要指定一個許可證,讓人知道使用的權利和限制的。
//  如果你有更復雜的許可條件,或者想要提供給更多地細節,可以這樣:
  /* "licenses" : [
    { "type" : "MyLicense"
    , "url" : "http://github.com/owner/project/path/to/license"
    }
  ]
*/
"license": "MIT",
  //當前包所依賴的其他包。即生產環境
"dependencies": {
    "babel-preset-react": "^6.5.0",
    "react": "^0.14.7",
    "react-dom": "^0.14.7",
    "webpack": "^1.12.15"
},
  // 外部測試或文件框架。即測試環境依賴
//  如果只需要下載使用某些模組,而不下載這些模組的測試和文件框架,
//  放在這個下面比較不錯
"devDependencies": {
    "babel-core": "^6.7.2",
    "babel-loader": "^6.2.4",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-stage-1": "^6.5.0",
    "css-loader": "^0.23.1",
    "file-loader": "^0.8.5",
    "html-webpack-plugin": "^2.14.0",
    "less-loader": "^2.2.3",
    "react-hot-loader": "^1.3.0",
    "style-loader": "^0.13.0",
    "webpack-dev-server": "^1.14.1"
},
  //engines: 既可以指定node版本也可以指定npm版本
"engines": {
    "node": ">=0.10.0"
},
  // *script 由指令碼命令組成的hash物件在包不同生命週期執行   *
  // key 時生命週期事件,value時要執行的命令
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start_html":"webpack --config webpack.html.config.js",
    "start_es6":"webpack --config webpack.es6.config.js",
    "start_react":"webpack --config webpack.react.config.js",
    "start_todo":"webpack --config webpack.todo.config.js",
    "build":"webpack-dev-server --port 3000 --hot --inline",
    "build_es6":"webpack-dev-server --port 4000 --hot --inline --config webpack.es6.config.js",
    "build_todo":"webpack-dev-server --port 4000 --hot --inline --config webpack.todo.config.js"
},
  /*    *homepage:專案官網   可選欄位*/
"homepage": "http://github.com/panqianjin/hello"
"author": {
    "name": "qianjin.pan",
    "email": "[email protected]"
},
  //問題追蹤系統的url或者郵箱 可選欄位
"bugs": {
    "url": "http://github.com/panqianjin/hello/issues"
},
//  指定你的包可以在哪些系統平臺下執行
"os": [ "darwin", "linux", "!win32" ],
//  可以指定包執行的cpu架構
"cpu": [ "x64", "!arm" ]
}


/*
"scripts": { "start": "node server.js" } 如果在專案根目錄下含有server.js
檔案,則NPM會自動設定此值。
"scripts": { "preinstall": "node-gyp rebuild" }
如果在專案根目錄下含有binding.gyp檔案,則NPM會自動設定此值
*/

相關推薦

package.json

package.json檔案描述了一個NPM包的所有相關資訊,包括作者、簡介、包依賴、構建等資訊。格式必須是嚴格的JSON格式。通常我們在建立一個NPM程式時,可以使用npm init命令,通過互動式

VSCode外掛開發全攻略(三)package.json

package.json 在詳細介紹vscode外掛開發細節之前,這裡我們先詳細介紹一下vscode外掛的package.json寫法,但是建議先只需要隨便看一下,瞭解個大概,等後面講到具體細節的時候再回過頭來看。 如下是package.json檔案的常用配置,當然這裡還不是全部: { // 外掛的

package.json

概述 每個專案的根目錄下面,一般都有一個package.json檔案,定義了這個專案所需要的各種模組,以及專案的配置資訊(比如名稱、版本、許可證等元資料)。npm install命令根據這個配置檔案,自動下載所需的模組,也就是配置專案所需的執行和開發環境。

nodejs package.json

  每個專案的根目錄下面,一般都會有package.json檔案,定義了這個專案中所需各種模板及專案中的配置資訊。npm install命令根據這個配置檔案,自動下載所需的模組,也就是配置專案中所需的執行和開發環境。   仔細觀察package.json檔案可以發現其內部就

Node.js 依賴管理(三)—package-lock.json

end 發現 json詳解 ever arr 文章 效果 樹形結構 例如 原文鏈接:https://www.novenblog.xin/detail?id=68 本文拜讀百度@小蘑菇哥哥的Node.js 中的依賴管理,正文從這裏開始~ papackage.json no

JS中JSON

名稱 完全 rip json詳解 core 兼容 json字符串 之間 org JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式,采用完全獨立於語言的文本格式,是理想的數據交換格式。同時,JSON是 JavaScript 原生格式

cookie、json

font eval 全局變量 var 如果 split cookies 有效 cti 什麽是cookie 1.cookie是存儲於訪問者計算機中的變量2.cookie是瀏覽器提供的一種機制3.可以由js控制(設置、讀取、刪除)4.cookie可以實現跨頁面全局變量可以跨越同

JSON

結構 emma from 事物 數據 xml的解析方式 地址 eric 結果 JSON 編輯詞條 JSON(JavaScript Object Notation)是一種輕量級中的對象和數組,所以這兩種結構就是對象和數組兩種結構,通過這兩種結構可以表示各種

JSON(轉)

的區別 orm 現在 括號 序列 前端框架 lis 數據對象 例如 JSON的全稱是”JavaScript Object Notation”,意思是JavaScript對象表示法,它是一種基於文本,獨立於語言的輕量級數據交換格式。XML也是一種數據交換格式,為什麽沒有選擇X

js 之 JSON

JSON:JavaScriptObjectNotation JSON是一種語法,用來序列化物件、陣列、字串、布林值和null。 JSON是基於JavaScript的語法,但與之不同   注意事項 JSON 是一種純資料格式,它只包含屬性,沒有方法。 JSON 要求有兩頭的 { }

Docker的配置檔案 daemon.json

官方的配置地址:https://docs.docker.com/engine/reference/commandline/dockerd/#options配置檔案的預設路徑:/etc/docker/daemon.json常用引數選項:{ "registry-mirrors

JSON以及stringfy( )和parse( )的使用

前言:最早,XML是是網際網路上傳輸結構化資料的事實標準,但是XML使用繁瑣,為了解決這個問題,JSON應運而生。JSON是JavaScript的一個嚴格子集,利用了 JavaScript中的一些模式來表示結構化資料。 JSON 並不從屬於 JavaScript

微信小程式開發教程(六)配置——app.json、page.json

全域性配置:app.json  微信小程式的全域性配置儲存在app.json檔案中。開發者通過使用app.json來配置頁面檔案(pages)的路徑、視窗(window)表現、設定網路超時時間值(networkTimeout)以及配置多個切換頁(tarBar)等。  首先看一

go語言中beego框架資料輸出和返回json

beego框架中資料輸出 1.直接輸出字串 beego.Controller.Ctx.WriteString(“字串”) func (ctx *Context) WriteString(content string) { ctx.ResponseWrit

vue-cli腳手架項目-package.json

腳本 shell llb fix author 載器 build last spawn 該隨筆收藏自:   詳解vue-cli腳手架項目-package.json package.json是npm的配置文件,裏面設定了腳本以及項目依賴的庫。 npm run dev 這樣

package.json 檔案

package.json 檔案 例項 {   "name": "systemName",   "version": "1.0.0",   "description": "系統描述",   "author": "天馬行空",   "private": true,   "s

Node.js中package.json中庫的版本號(^和~區別)

當我們檢視package.json中已安裝的庫的時候,會發現他們的版本號之前都會加一個符號,有的是插入符號(^),有的是波浪符號(~)。那麼他們到底有什麼區別呢?先貼一個例子,對照例子來做解釋: "dependencies": { "bluebird": "^3.3.4", "body-parser": "

Webpack配置package.json/webpack.config.js詳細配置 )

Webpack配置詳解(package.json/webpack.config.js詳細配置 ) webpack安裝 package.json配置以及模組安裝 webpack.config.js配置 開啟webpack-dev-server服務 熱替換外掛的安裝以及配置 開啟自動開啟瀏覽器外

package.json/webpackconfig.js 配置屬性

webpackconfig.js let path = require('path'); // vue 新版本必要的外掛 const VueLoaderPlugin = require('vue-lo

package.json配置

預設的package.json檔案直接使用命令:npm init --yes生成 { "name": "pingdingshan", "version": "1.0.0", "description": "", "main": "index.js