欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

nodejs npm package.json中文文檔

 更新時(shí)間:2014年09月04日 11:42:13   投稿:junjie  
這篇文章主要介紹了nodejs npm package.json中文文檔,本文檔中描述的很多行為都受npm-config(7)的影響,需要的朋友可以參考下

簡(jiǎn)介

本文檔有所有package.json中必要的配置。它必須是真正的json,而不是js對(duì)象。

本文檔中描述的很多行為都受npm-config(7)的影響。

默認(rèn)值

npm會(huì)根據(jù)包內(nèi)容設(shè)置一些默認(rèn)值。

復(fù)制代碼 代碼如下:
"scripts": {"start": "node server.js"}
如果包的根目錄有server.js文件,npm會(huì)默認(rèn)將start命令設(shè)置為node server.js。

"scripts":{"preinstall": "node-waf clean || true; node-waf configure build"}
如果包的根目錄有wscript文件,npm會(huì)默認(rèn)將preinstall命令用node-waf進(jìn)行編譯。

"scripts":{"preinstall": "node-gyp rebuild"}
如果包的根目錄有binding.gyp文件,npm會(huì)默認(rèn)將preinstall命令用node-gyp進(jìn)行編譯。

"contributors": [...]
如果包的根目錄有AUTHORS文件,npm會(huì)默認(rèn)逐行按Name <email> (url)格式處理,郵箱和url是可選的。#號(hào)和空格開頭的行會(huì)被忽略。

name

在package.json中最重要的就是name和version字段。他們都是必須的,如果沒有就無法install。name和version一起組成的標(biāo)識(shí)在假設(shè)中是唯一的。改變包應(yīng)該同時(shí)改變version。

name是這個(gè)東西的名字。注意:

1.不要把node或者js放在名字中。因?yàn)槟銓懥藀ackage.json它就被假定成為了js,不過你可以用”engine”字段指定一個(gè)引擎(見后文)。
2.這個(gè)名字會(huì)作為在URL的一部分、命令行的參數(shù)或者文件夾的名字。任何non-url-safe的字符都是不能用的。
3.這個(gè)名字可能會(huì)作為參數(shù)被傳入require(),所以它應(yīng)該比較短,但也要意義清晰。
4.在你愛上你的名字之前,你可能要去npm registry查看一下這個(gè)名字是否已經(jīng)被使用了。http://registry.npmjs.org/

version

在package.json中最重要的就是name和version字段。他們都是必須的,如果沒有就無法install。name和version一起組成的標(biāo)識(shí)在假設(shè)中是唯一的。改變包應(yīng)該同時(shí)改變version。

version必須能被node-semver解析,它被包在npm的依賴中。(要自己用可以執(zhí)行npm install semver)

可用的“數(shù)字”或者“范圍”見semver(7).

description

放簡(jiǎn)介,字符串。方便屌絲們?cè)趎pm search中搜索。

keywords

關(guān)鍵字,數(shù)組、字符串。還是方便屌絲們?cè)趎pm search中搜索。

homepage

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

注意:這和“url”不一樣。如果你放一個(gè)“url”字段,registry會(huì)以為是一個(gè)跳轉(zhuǎn)到你發(fā)布在其他地方的地址,然后喊你滾粗。

嗯,滾粗,沒開玩笑。

bugs

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

差不多長(zhǎng)這樣:

復(fù)制代碼 代碼如下:

{ "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)利和限制的。

最簡(jiǎn)單的方法是,假如你用一個(gè)像BSD或者M(jìn)IT這樣通用的許可證,就只需要指定一個(gè)許可證的名字,像這樣:

復(fù)制代碼 代碼如下:

{ "license" : "BSD" }

如果你又更復(fù)雜的許可條件,或者想要提供給更多地細(xì)節(jié),可以這樣:
復(fù)制代碼 代碼如下:

"licenses" : [
  { "type" : "MyLicense"
  , "url" : "http://github.com/owner/project/path/to/license"
  }
]

在根目錄中提供一個(gè)許可證文件也蠻好的。

people fields: author, contributors

author是一個(gè)人。contributors是一堆人的數(shù)組。person是一個(gè)有name字段,可選的有url、email字段的對(duì)象,像這樣:

復(fù)制代碼 代碼如下:

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

或者可以把所有的東西都放到一個(gè)字符串里,npm會(huì)給你解析:
復(fù)制代碼 代碼如下:

"Barney Rubble <b@rubble.com> (http://barnyrubble.tumblr.com/)

email和url在兩種形式中都是可選的。

也可以在你的npm用戶信息中設(shè)置一個(gè)頂級(jí)的maintainers字段。

files

files是一個(gè)包含項(xiàng)目中的文件的數(shù)組。如果命名了一個(gè)文件夾,那也會(huì)包含文件夾中的文件。(除非被其他條件忽略了)

你也可以提供一個(gè).npmignore文件,讓即使被包含在files字段中得文件被留下。其實(shí)就像.gitignore一樣。

main

main字段是一個(gè)模塊ID,它是一個(gè)指向你程序的主要項(xiàng)目。就是說,如果你包的名字叫foo,然后用戶安裝它,然后require("foo"),然后你的main模塊的exports對(duì)象會(huì)被返回。

這應(yīng)該是一個(gè)相對(duì)于根目錄的模塊ID。

對(duì)于大多數(shù)模塊,它是非常有意義的,其他的都沒啥。

bin

很多包都有一個(gè)或多個(gè)可執(zhí)行的文件希望被放到PATH中。npm讓媽媽再也不用擔(dān)心了(實(shí)際上,就是這個(gè)功能讓npm可執(zhí)行的)。

要用這個(gè)功能,給package.json中的bin字段一個(gè)命令名到文件位置的map。初始化的時(shí)候npm會(huì)將他鏈接到prefix/bin(全局初始化)或者./node_modules/.bin/(本地初始化)。

比如,npm有:

復(fù)制代碼 代碼如下:

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

所以,當(dāng)你初始化npm,它會(huì)創(chuàng)建一個(gè)符號(hào)鏈接到cli.js腳本到/usr/local/bin/npm。

如果你只有一個(gè)可執(zhí)行文件,并且名字和包名一樣。那么你可以只用一個(gè)字符串,比如:

復(fù)制代碼 代碼如下:

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

結(jié)果和這個(gè)一樣:

復(fù)制代碼 代碼如下:

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

man

指定一個(gè)單一的文件或者一個(gè)文件數(shù)組供man程序使用。

如果只提供一個(gè)單一的文件,那么它初始化后就是man <pkgname>的結(jié)果,而不管實(shí)際的文件名是神馬,比如:

復(fù)制代碼 代碼如下:

{ "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ì)被冠以前綴,下面的:

復(fù)制代碼 代碼如下:

{ "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為后綴。The number dictates which man section the file is installed into.

復(fù)制代碼 代碼如下:

{ "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)建。

directories

CommonJS Packages規(guī)范說明了幾種方式讓你可以用directorieshash標(biāo)示出包得結(jié)構(gòu)。如果看一下npm's package.json,你會(huì)看到有directories標(biāo)示出doc, lib, and man。

在未來,這個(gè)信息可能會(huì)被用到。

directories.lib

告訴屌絲們你的庫文件夾在哪里。目前沒有什么特別的東西需要用到lib文件夾,但確實(shí)是重要的元信息。

directories.bin

如果你指定一個(gè)“bin”目錄,然后在那個(gè)文件夾中得所有文件都會(huì)被當(dāng)做”bin”字段使用。

如果你已經(jīng)指定了“bin”字段,那這個(gè)就無效。

directories.man

一個(gè)放滿man頁面的文件夾。貼心地創(chuàng)建一個(gè)“man”字段。
A folder that is full of man pages. Sugar to generate a “man” array by
walking the folder.

directories.doc

將markdown文件放在這里。最后,這些會(huì)被很好地展示出來,也許,某一天。
Put markdown files in here. Eventually, these will be displayed nicely,
maybe, someday.

directories.example

將事例腳本放在這里。某一天,它可能會(huì)以聰明的方式展示出來。

repository

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

這樣做:

復(fù)制代碼 代碼如下:

"repository" :
  { "type" : "git"
  , "url" : "http://github.com/isaacs/npm.git"
  }
"repository" :
  { "type" : "svn"
  , "url" : "http://v8.googlecode.com/svn/trunk/"
  }

URL應(yīng)該是公開的(即便是只讀的)能直接被未經(jīng)過修改的版本控制程序處理的url。不應(yīng)該是一個(gè)html的項(xiàng)目頁面。因?yàn)樗墙o計(jì)算機(jī)看的。

scripts

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

參見 npm-scripts(7)

config

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

復(fù)制代碼 代碼如下:

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

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

參見 npm-config(7) 和 npm-scripts(7)。

dependencies

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

請(qǐng)不要將測(cè)試或過渡性的依賴放在dependencieshash中。見下文的devDependencies。

詳見semver(7).

1.version 必須完全和version一致
2.>version 必須比version大
3.>=version 同上
4.<version 同上
5.<=version 同上
6.~version 大約一樣,見semver(7)
7.1.2.x 1.2.0, 1.2.1, 等,但不包括1.3.0
8.http://... 見下文'依賴URL'
9.* 所有
10."" 空,同*
11.version1 - version2 同 >=version1 <=version2.
12.range1 || range2 二選一。
13.git... 見下文'依賴Git URL'
14.user/repo 見下文'GitHub URLs'
15.比如下面都是合法的:

復(fù)制代碼 代碼如下:

{ "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"
  }
}

依賴URL

可以指定一個(gè)tarball URL,這個(gè)tarball將在包被初始化的時(shí)候下載并初始化。

依賴Git URL

Git urls 可以是下面幾種形式:

復(fù)制代碼 代碼如下:

git://github.com/user/project.git#commit-ish
git+ssh://user@hostname:project.git#commit-ish
git+ssh://user@hostname/project.git#commit-ish
git+http://user@hostname/project/blah.git#commit-ish
git+https://user@hostname/project/blah.git#commit-ish

commit-ish是可以被git checkout的任何tag、sha或者branch。默認(rèn)為master。

GitHub URLs

1.1.65版后,你可以僅僅用“user/foo-project”引用GitHub urls,比如:

復(fù)制代碼 代碼如下:

{
  "name": "foo",
  "version": "0.0.0",
  "dependencies": {
    "express": "visionmedia/express"
  }
}

devDependencies

如果有人計(jì)劃在他們的程序中下載并使用你的模塊,那么他們可能不想或者不需要去下載并構(gòu)建你使用的外部測(cè)試或者文檔框架。

在這種情況下,它最好把這些附屬的項(xiàng)目列示在devDependencies hash中。

這些東西會(huì)在根目錄執(zhí)行npm link或者npm install的時(shí)候初始化,并可以像其他npm配置參數(shù)一樣管理。詳見npm-config(7)。

對(duì)于非特定平臺(tái)的構(gòu)建步驟,比如編譯CoffeeScript或者其他語言到Javascript,用prepublish腳本去實(shí)現(xiàn)并把他放在devDependency中。

比如:

復(fù)制代碼 代碼如下:

{ "name": "ethopia-waza",
  "description": "a delightfully fruity coffee varietal",
  "version": "1.2.3",
  "devDependencies": {
    "coffee-script": "~1.6.3"
  },
  "scripts": {
    "prepublish": "coffee -o lib/ -c src/waza.coffee"
  },
  "main": "lib/waza.js"
}

prepublish腳本會(huì)在publishing前運(yùn)行,這樣用戶就不用自己去require來編譯就能使用。并且在開發(fā)模式中(比如本地運(yùn)行npm install)會(huì)運(yùn)行這個(gè)腳本以便更好地測(cè)試。

peerDependencies

在一些場(chǎng)景中,如在一個(gè)host中不必須進(jìn)行require時(shí)候,你想表現(xiàn)你的package與一個(gè)host工具或者庫的兼容關(guān)鍵。這一般用來引用插件。尤其是你的模塊可能要暴露一個(gè)特定的接口,并由host文檔來預(yù)期和指定。

比如:

復(fù)制代碼 代碼如下:

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

這能保證你的package可以只和tea的2.x版本一起初始化。npm install tea-latte可能會(huì)產(chǎn)生下面的依賴關(guān)系
復(fù)制代碼 代碼如下:

├── tea-latte@1.3.5
└── tea@2.2.0

試圖初始化另一個(gè)有會(huì)沖突的依賴的插件將導(dǎo)致一個(gè)錯(cuò)誤。因此,確保你的插件的需求約束越弱越好,而不要去把它鎖定到一個(gè)特定的版本。

假設(shè)這個(gè)host遵守semver規(guī)范,只改變這個(gè)package的主版本會(huì)打破你的插件。因此,如果你在package中用過每個(gè)1.x版本,就用”^1.0″或者”1.x”來表示。如果你依賴于功能介紹1.5.2,用”>= 1.5.2 < 2″。

bundledDependencies

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

拼成"bundleDependencies"(缺d)也可以。

optionalDependencies

如果一個(gè)依賴可用,但你希望在它安裝錯(cuò)誤的時(shí)候npm也能繼續(xù)初始化,那么你可以把它放在optionalDependencies hash中。這是一個(gè)包名到版本或者url的map,就像dependencies hash一樣。只是它運(yùn)行錯(cuò)誤。

處理缺乏依賴也是你的程序的責(zé)任。比如像這樣:

復(fù)制代碼 代碼如下:

try {
  var foo = require('foo')
  var fooVersion = require('foo/package.json').version
} catch (er) {
  foo = null
}
if ( notGoodFooVersion(fooVersion) ) {
  foo = null
}
// .. then later in your program ..
if (foo) {
  foo.doFooThings()
}

optionalDependencies會(huì)覆蓋dependencies中同名的項(xiàng),所以通常比只放在一個(gè)地方好。

engines

你可以指定工作的node的版本:

復(fù)制代碼 代碼如下:

{ "engines" : { "node" : ">=0.10.3 <0.12" } }

并且,像dependensies一樣,如果你不指定版本或者指定“*”作為版本,那么所有版本的node都可以。

如果指定一個(gè)“engines”字段,那么npm會(huì)需要node在里面,如果“engines”被省略,npm會(huì)假定它在node上工作。

你也可以用“engines”字段來指定哪一個(gè)npm版本能更好地初始化你的程序,如:

復(fù)制代碼 代碼如下:

{ "engines" : { "npm" : "~1.0.20" } }

記住,除非用戶設(shè)置engine-strict標(biāo)記,這個(gè)字段只是建議值。

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)中:

復(fù)制代碼 代碼如下:

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

你也可以用黑名單代替白名單,在名字前面加上“!”就可以了:
復(fù)制代碼 代碼如下:

"os" : [ "!win32" ]

操作系統(tǒng)用process.platform來探測(cè)。

雖然沒有很好地理由,但它是同時(shí)支持黑名單和白名單的。

cpu

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

復(fù)制代碼 代碼如下:

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

就像os選項(xiàng),你也可以黑一個(gè)架構(gòu):
復(fù)制代碼 代碼如下:

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

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

preferGlobal

如果包主要是需要全局安裝的命令行程序,就設(shè)置它為true來提供一個(gè)warning給只在局部安裝的人。

它不會(huì)真正的防止用戶在局部安裝,但如果它沒有按預(yù)期工作它會(huì)幫助防止產(chǎn)生誤會(huì)。

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)。

參見npm-config(7)有可以被重寫的列表。

相關(guān)文章

  • Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格

    Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格

    這篇文章主要為大家詳細(xì)介紹了Nodejs獲取網(wǎng)絡(luò)數(shù)據(jù)并生成Excel表格的具體實(shí)現(xiàn)方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • nodejs如何獲取當(dāng)前連接的網(wǎng)絡(luò)ip

    nodejs如何獲取當(dāng)前連接的網(wǎng)絡(luò)ip

    這篇文章主要介紹了nodejs如何獲取當(dāng)前連接的網(wǎng)絡(luò)ip問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • node Buffer緩存區(qū)常見操作示例

    node Buffer緩存區(qū)常見操作示例

    這篇文章主要介紹了node Buffer緩存區(qū)常見操作,涉及node.js操作Buffer緩存的創(chuàng)建、寫入、讀取、轉(zhuǎn)換等相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-05-05
  • 基于node.js的fs核心模塊讀寫文件操作(實(shí)例講解)

    基于node.js的fs核心模塊讀寫文件操作(實(shí)例講解)

    下面小編就為大家?guī)硪黄趎ode.js的fs核心模塊讀寫文件操作(實(shí)例講解)。小編覺得挺不錯(cuò)的,現(xiàn)在就想給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Node.js和Express中設(shè)置TypeScript的實(shí)現(xiàn)步驟

    Node.js和Express中設(shè)置TypeScript的實(shí)現(xiàn)步驟

    本文主要介紹了Node.js和Express中設(shè)置TypeScript的實(shí)現(xiàn)步驟文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • node.js利用redis數(shù)據(jù)庫緩存數(shù)據(jù)的方法

    node.js利用redis數(shù)據(jù)庫緩存數(shù)據(jù)的方法

    Redis數(shù)據(jù)庫采用極簡(jiǎn)的設(shè)計(jì)思想,最新版的源碼包還不到2Mb。其在使用上也有別于一般的數(shù)據(jù)庫。下面這篇文章就來給大家介紹了node.js利用redis數(shù)據(jù)庫緩存數(shù)據(jù)的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-03-03
  • node結(jié)合swig渲染摸板的方法

    node結(jié)合swig渲染摸板的方法

    本篇文章主要介紹了node結(jié)合swig渲染摸板的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • node-gyp安裝vuetify編譯失敗gyp?ERR的問題及解決

    node-gyp安裝vuetify編譯失敗gyp?ERR的問題及解決

    這篇文章主要介紹了node-gyp安裝vuetify編譯失敗gyp?ERR的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • NodeJS使用遞歸算法和遍歷算法來遍歷目錄的方法

    NodeJS使用遞歸算法和遍歷算法來遍歷目錄的方法

    遍歷目錄是操作文件時(shí)的一個(gè)常見需求,比如寫一個(gè)程序,需要找到并處理指定目錄下的所有JS文件時(shí),就需要遍歷整個(gè)目錄,NodeJS遍歷目錄可以使用遞歸算法、遍歷算法,遍歷算法又分為同步遍歷、異步遍歷兩種,本文介紹NodeJS使用遞歸算法和遍歷算法來遍歷目錄的方法
    2023-11-11
  • 利用nginx + node在阿里云部署https的步驟詳解

    利用nginx + node在阿里云部署https的步驟詳解

    這篇文章主要給大家介紹了關(guān)于利用nginx + node在阿里云部署https的步驟,文中通過圖文及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12

最新評(píng)論