亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

package.json各個(gè)屬性說明詳解

 更新時(shí)間:2020年03月11日 15:21:18   作者:henyulee  
這篇文章主要介紹了package.json各個(gè)屬性說明詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是Node.js的模塊(Module)?
在Node.js中,模塊是一個(gè)庫或框架,也是一個(gè)Node.js項(xiàng)目。Node.js項(xiàng)目遵循模塊化的架構(gòu),當(dāng)我們創(chuàng)建了一個(gè)Node.js項(xiàng)目,意味著創(chuàng)建了一個(gè)模塊,這個(gè)模塊的描述文件,被稱為package.json ——  【長城_changcheng】

一般package.json放置在項(xiàng)目根目錄下,其基本結(jié)構(gòu)如下圖所示:

package.json 結(jié)構(gòu)圖

屬性介紹

description

字符串。用來描述當(dāng)前項(xiàng)目的大致功能。

name

此項(xiàng)目包的名稱。在不確定自己的包名能否使用之前,請(qǐng)先npm registry 一下,看看當(dāng)前你喜歡的包名是否已經(jīng)被占用。

version

當(dāng)前項(xiàng)目包的版本號(hào)。每一次項(xiàng)目改動(dòng)時(shí),在即將發(fā)布時(shí),都要同步的去更改項(xiàng)目的版本號(hào)。一般格式為:x.y.z。意思是:大版本.中版本.小版本

keywords

放簡介,字符串。方便屌絲們?cè)?npm search中搜索

homepage

項(xiàng)目官網(wǎng)的url

bugs

你項(xiàng)目的提交問題的url和(或)郵件地址。這對(duì)遇到問題的屌絲很有幫助。

{ "url" : "http://github.com/owner/project/issues" , "email" : "project@hostname.com" }

你可以指定一個(gè)或者指定兩個(gè)。如果你只想提供一個(gè)url,那就不用對(duì)象了,字符串就行。如果提供了url,它會(huì)被npm bugs命令使用。

license

你應(yīng)該要指定一個(gè)許可證,讓人知道使用的權(quán)利和限制的。最簡單的方法是,假如你用一個(gè)像BSD或者M(jìn)IT這樣通用的許可證,就只需要指定一個(gè)許可證的名字,像這樣:

{ "license" : "BSD" }

author

項(xiàng)目作者??梢灾付╪ame,email,url字段信息。也可以單獨(dú)使用字符串來表示。

{“ author ”: { "name" : "Barney Rubble" , "email" : "b@rubble.com" , "url" : "http://barnyrubble.tumblr.com/" } }

contributors

項(xiàng)目相關(guān)貢獻(xiàn)者。是數(shù)組。用于羅列對(duì)應(yīng)的貢獻(xiàn)人??梢允菃为?dú)的字符串,也可以分別指定name,email,url等屬性。

{"contributors ":[ { "name" : "Barney Rubble" , "email" : "b@rubble.com" , "url" : "http://barnyrubble.tumblr.com/" } ]}

files

files是一個(gè)包含項(xiàng)目中的文件的數(shù)組。如果命名了一個(gè)文件夾,那也會(huì)包含文件夾中的文件。(除非被其他條件忽略了)你也可以提供一個(gè).npmignore文件,讓即使被包含在files字段中得文件被留下。其實(shí)就像.gitignore一樣。

{ "files": [ "bin/", "templates/", "test/" ]}

main

main字段是一個(gè)模塊ID,它是一個(gè)指向你程序的主要項(xiàng)目。就是說,如果你包的名字叫foo,然后用戶安裝它,然后require("foo"),然后你的main模塊的exports對(duì)象會(huì)被返回。這應(yīng)該是一個(gè)相對(duì)于根目錄的模塊ID。對(duì)于大多數(shù)模塊,它是非常有意義的,其他的都沒啥。

{ "main": "bin/index.js"}

bin

很多包都有一個(gè)或多個(gè)可執(zhí)行的文件希望被放到PATH中。(實(shí)際上,就是這個(gè)功能讓npm可執(zhí)行的)。要用這個(gè)功能,給package.json中的bin字段一個(gè)命令名到文件位置的map。初始化的時(shí)候npm會(huì)將他鏈接到prefix/bin(全局初始化)或者./node_modules/.bin/(本地初始化)。

{ "bin" : { "npm" : "./cli.js" } }

當(dāng)你初始化npm,它會(huì)創(chuàng)建一個(gè)符號(hào)鏈接到cli.js腳本到/usr/local/bin/npm。如果你只有一個(gè)可執(zhí)行文件,并且名字和包名一樣。那么你可以只用一個(gè)字符串,比如

{ "name": "my-program" , "version": "1.2.5" , "bin": "./path/to/program" }

// 等價(jià)于

{ "name": "my-program" , "version": "1.2.5" , "bin" : { "my-program" : "./path/to/program" } }

man

指定一個(gè)單一的文件或者一個(gè)文件數(shù)組供man程序使用。如果只提供一個(gè)單一的文件,那么它初始化后就是man 的結(jié)果,而不管實(shí)際的文件名是神馬,比如:

{ "name" : "foo" , "version" : "1.2.3" , "description" : "A packaged foo fooer for fooing foos" , "main" : "foo.js" , "man" : "./man/doc.1" }

這樣man foo就可以用到./man/doc.1文件了。

如果文件名不是以包名開頭,那么它會(huì)被冠以前綴,下面的:

{ "name" : "foo" , "version" : "1.2.3" , "description" : "A packaged foo fooer for fooing foos" , "main" : "foo.js" , "man" : [ "./man/foo.1", "./man/bar.1" ] }

會(huì)為man foo和man foo-bar創(chuàng)建文件。

man文件需要以數(shù)字結(jié)束,然后可選地壓縮后以.gz為后綴。

{ "name" : "foo" , "version" : "1.2.3" , "description" : "A packaged foo fooer for fooing foos" , "main" : "foo.js" , "man" : [ "./man/foo.1", "./man/foo.2" ] }

會(huì)為man foo和man 2 foo創(chuàng)建。

repository

指定你的代碼存放的地方。這個(gè)對(duì)希望貢獻(xiàn)的人有幫助。如果git倉庫在github上,那么npm docs命令能找到你。

scripts

“scripts”是一個(gè)由腳本命令組成的hash對(duì)象,他們?cè)诎煌纳芷谥斜粓?zhí)行。key是生命周期事件,value是要運(yùn)行的命令。

config

"config" hash可以用來配置用于包腳本中的跨版本參數(shù)。在實(shí)例中,如果一個(gè)包有下面的配置

{ "name" : "foo" , "config" : { "port" : "8080" } }

然后有一個(gè)“start”命令引用了npm_package_config_port環(huán)境變量,用戶可以通過npm config set foo:port 8001來重寫他。

dependencies

依賴是給一組包名指定版本范圍的一個(gè)hash。這個(gè)版本范圍是一個(gè)由一個(gè)或多個(gè)空格分隔的字符串。依賴還可以用tarball或者git URL。

請(qǐng)不要將測試或過渡性的依賴放在dependencies。

對(duì)于引用包的版本號(hào)格式,以下都是合法的:

{ "dependencies" :   { "foo" : "1.0.0 - 2.9999.9999"   , "bar" : ">=1.0.2 <2.1.2"   , "baz" : ">1.0.2 <=2.3.4"   , "boo" : "2.0.1"   , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"   , "asd" : "http://asdf.com/asdf.tar.gz"   , "til" : "~1.2"   , "elf" : "~1.2.3"   , "two" : "2.x"   , "thr" : "3.3.x"  ,"vue":"*", "element-ui":"" } }

devDependencies

如果有人要用你的模塊,但他們可能不需要你開發(fā)所使用的外部測試或者文檔框架。在這種情況下,最好將這些附屬的項(xiàng)目列在devDependencies中。這些東西會(huì)在根目錄執(zhí)行npm link或者npm install的時(shí)候初始化,并可以像其他npm配置參數(shù)一樣管理。

peerDependencies

你的模塊可能要暴露一個(gè)特定的接口,并由host文檔來預(yù)期和指定。比如:

{   "name": "tea-latte",   "version": "1.3.5"   "peerDependencies": {     "tea": "2.x"   } }

這能保證你的package可以只和tea的2.x版本一起初始化。試圖初始化另一個(gè)有會(huì)沖突的依賴的插件將導(dǎo)致一個(gè)錯(cuò)誤。因此,確保你的插件的需求約束越弱越好,而不要去把它鎖定到一個(gè)特定的版本。此屬性盡量避免使用

bundledDependencies

一組包名,他們會(huì)在發(fā)布的時(shí)候被打包進(jìn)去

engines

指定項(xiàng)目工作的環(huán)境。除非用戶設(shè)置engine-strict標(biāo)記,這個(gè)字段只是建議值。

{ "engines" : { "node" : ">=0.10.3 <0.12", "npm" : "~1.0.20" } }

engineStrict

如果你確定你的模塊一定不會(huì)運(yùn)行在你指定版本之外的node或者npm上,你可以在package.json文件中設(shè)置"engineStrict":true。它會(huì)重寫用戶的engine-strict設(shè)置。除非你非常非常確定,否則不要這樣做。如果你的engines hash過度地限制,很可能輕易讓自己陷入窘境。慎重地考慮這個(gè)選擇。如果大家濫用它,它會(huì)再以后的npm版本中被刪除。

os

可以指定你的模塊要運(yùn)行在哪些操作系統(tǒng)中

"os" : [ "darwin", "linux" ]

你也可以用黑名單代替白名單,在名字前面加上“!”就可以了:

"os" : [ "!win32" ]

操作系統(tǒng)用process.platform來探測。雖然沒有很好地理由,但它是同時(shí)支持黑名單和白名單的。

cpu

如果你的代碼只能運(yùn)行在特定的cpu架構(gòu)下,你可以指定一個(gè)

"cpu" : [ "x64", "ia32" ]

就像os選項(xiàng),你也可以黑一個(gè)架構(gòu):

"cpu" : [ "!arm", "!mips" ]

cpu架構(gòu)用process.arch探測。

preferGlobal

如果包主要是需要全局安裝的命令行程序,就設(shè)置它為true來提供一個(gè)warning給只在局部安裝的人。它不會(huì)真正的防止用戶在局部安裝,但如果它沒有按預(yù)期工作它會(huì)幫助防止產(chǎn)生誤會(huì)。

{" preferGlobal ":true}

private

如果你設(shè)置"private": true,npm就不會(huì)發(fā)布它。

這是一個(gè)防止意外發(fā)布私有庫的方式。如果你要確定給定的包是只發(fā)布在特定registry(如內(nèi)部registry)的,用publishConfighash的描述來重寫registry的publish-time配置參數(shù)。

publishConfig

這是一個(gè)在publish-time使用的配置集合。當(dāng)你想設(shè)置tag或者registry的時(shí)候它非常有用,所以你可以確定一個(gè)給定的包沒有打上“l(fā)astest”的tag或者被默認(rèn)發(fā)布到全局的公開registry。任何配置都可以被重寫,但當(dāng)然可能只有“tag”和“registry”與發(fā)布的意圖有關(guān)。

到此這篇關(guān)于package.json各個(gè)屬性說明詳解的文章就介紹到這了,更多相關(guān)package.json屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 教你快速搭建Node.Js服務(wù)器的方法教程

    教你快速搭建Node.Js服務(wù)器的方法教程

    Node.js是一套用來編寫高性能網(wǎng)絡(luò)服務(wù)器的JavaScript工具包,一系列的變化由此開始。這篇文章主要給大家介紹了如何快速搭建Node.Js服務(wù)器的方法教程,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考價(jià)值,需要的朋友下面來一起看看吧。
    2017-03-03
  • node.js中的fs.readFile方法使用說明

    node.js中的fs.readFile方法使用說明

    這篇文章主要介紹了node.js中的fs.readFile方法使用說明,本文介紹了fs.readFile的方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • window系統(tǒng) nodejs安裝opencv環(huán)境配置圖文詳解

    window系統(tǒng) nodejs安裝opencv環(huán)境配置圖文詳解

    這篇文章主要介紹了window系統(tǒng) nodejs安裝opencv環(huán)境配置,結(jié)合圖文形式詳細(xì)分析了window環(huán)境下 nodejs安裝opencv的具體步驟、注意事項(xiàng)
    2023-04-04
  • Node.js如何對(duì)SQLite的async/await封裝詳解

    Node.js如何對(duì)SQLite的async/await封裝詳解

    這篇文章主要給大家介紹了關(guān)于Node.js如何對(duì)SQLite的async/await進(jìn)行封裝的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • 關(guān)于express與koa的使用對(duì)比詳解

    關(guān)于express與koa的使用對(duì)比詳解

    很多人都在問到底該用Koa還是express,所以下面這篇文章就來給大家再次的對(duì)比了關(guān)于express與koa的相關(guān)資料,通過對(duì)比大家可以更好的進(jìn)行選擇,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • 利用node.js本地搭建HTTP服務(wù)器

    利用node.js本地搭建HTTP服務(wù)器

    這篇文章主要為大家詳細(xì)介紹了利用node.js本地搭建HTTP服務(wù)器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • node.js下when.js 的異步編程實(shí)踐

    node.js下when.js 的異步編程實(shí)踐

    這篇文章主要介紹了node.js下when.js 的異步編程實(shí)踐,需要的朋友可以參考下
    2014-12-12
  • Node.js Process對(duì)象詳解

    Node.js Process對(duì)象詳解

    本文詳細(xì)講解了Node.js Process對(duì)象,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • Nodejs--post的公式詳解

    Nodejs--post的公式詳解

    本篇文章主要介紹了Nodejs--post公式的相關(guān)知識(shí),具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • 詳解如何給Node.js版本降級(jí)

    詳解如何給Node.js版本降級(jí)

    Node.js是一個(gè)基于chrome?v8引擎的JavaScript運(yùn)行時(shí)環(huán)境,用于構(gòu)建快速、可擴(kuò)展的網(wǎng)絡(luò)應(yīng)用程序,在某些情況下,降級(jí)Node.js版本可能額是必要的,本篇文章將向您介紹如今降級(jí)Node.js版本并提供相應(yīng)的源代碼示例,需要的朋友可以參考下
    2023-11-11

最新評(píng)論