Npm?Module作用及使用一文全解
packge.json
一個(gè) package.json 包括:
- 列出項(xiàng)目所依賴的包
- 指定項(xiàng)目可以使用語(yǔ)義版本控制規(guī)則使用的包版本
- 使您的構(gòu)建可重現(xiàn),因此更容易與其他開(kāi)發(fā)人員共享
包SEO: 可以加一個(gè) description
,別人可以在npm 網(wǎng)站更好的查找你的npm Module
package 必填字段
name version
package.json 文件必須包含“"name"”和"version"字段。
"name"字段包含包的名稱,必須為小寫(xiě)和一個(gè)單詞,并且可以包含連字符和下劃線。
"version"字段必須采用 x.x.x 格式,并遵循語(yǔ)義版本控制準(zhǔn)則.
author
作者字段,作者信息 用 電子郵件和網(wǎng)站,它是可選的
{ "name": "npm-demo", "version": "1.0.0", "author": "123456@qq.com", "description": "NPM Test Module", "main": "index.js", "scripts": { "test": "echo "Error: no test specified" && exit 1" }, "keywords": [], "license": "ISC" }
創(chuàng)建 package.json
- 要?jiǎng)?chuàng)建 package.json 文件,請(qǐng)?jiān)诿钚猩?,?Node.js 模塊的根目錄中運(yùn)行 npm init:
- 對(duì)于作用域模塊,運(yùn)行 npm init --scope=@scope-name
- 對(duì)于無(wú)作用域模塊,運(yùn)行 npm init
為必填字段(nameversion)以及main字段提供響應(yīng):
- name:模塊的名稱。
- 版本:初始模塊version。我們建議遵循語(yǔ)義版本控制準(zhǔn)則并從 1.0.0 開(kāi)始.
npm init npm init --yes
init 配置選項(xiàng)
可以為 init 命令設(shè)置默認(rèn)配置選項(xiàng)。例如,若要設(shè)置默認(rèn)作者電子郵件、作者姓名和許可證,請(qǐng)?jiān)诿钚猩线\(yùn)行以下命令:
> npm set init-author-email "example-user@example.com" > npm set init-author-name "example_user" > npm set init-license "MIT"
創(chuàng)建 READ.md 包描述文件 創(chuàng)建無(wú)作用域公共包
什么是無(wú)作用域公共包?
無(wú)作用域包始終是公共的,并且僅由包名稱引用,它可以供別人和它人直接使用在項(xiàng)目當(dāng)中。
創(chuàng)建無(wú)作用域的公共包
npm init
發(fā)布無(wú)作用域公共包
npm publish
創(chuàng)建作用域包
在用戶或組織命名空間中公開(kāi)共享代碼,可以將公共用戶范圍或組織范圍的包發(fā)布到 npm 注冊(cè)表。
npm init --scope=@my-org
my-org
替換成 組織范圍 或者 用戶范圍的 命名就可以
發(fā)布作用域包
npm publish --access public
Npm 包范圍、訪問(wèn)級(jí)別和可見(jiàn)性
范圍 | 訪問(wèn)級(jí)別 | 可以查看和下載 | 可以寫(xiě)入(發(fā)布) |
---|---|---|---|
組織 | 私人 | 組織中對(duì)包具有讀取訪問(wèn)權(quán)限的團(tuán)隊(duì)成員 | 組織中對(duì)包具有讀寫(xiě)訪問(wèn)權(quán)限的團(tuán)隊(duì)成員 |
組織 | 公共 | 每個(gè)人 都 | 組織中對(duì)包具有讀寫(xiě)訪問(wèn)權(quán)限的團(tuán)隊(duì)成員 |
用戶 | 私人 | 包所有者和已被授予對(duì)包的讀取訪問(wèn)權(quán)限的用戶 | 包所有者和已被授予對(duì)包的讀寫(xiě)訪問(wèn)權(quán)限的用戶 |
用戶 | 公共 | 每個(gè)人 都 | 包所有者和已被授予對(duì)包的讀寫(xiě)訪問(wèn)權(quán)限的用戶 |
無(wú)作用域 | 公共 | 每個(gè)人 都 | 包所有者和已被授予對(duì)包的讀寫(xiě)訪問(wèn)權(quán)限的用戶 |
注意:只有用戶帳戶才能創(chuàng)建和管理無(wú)作用域包。組織只能管理作用域包。
以上就是Npm Module作用及使用一文全解的詳細(xì)內(nèi)容,更多關(guān)于Npm Module使用的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- vue3.0運(yùn)行npm run dev報(bào)錯(cuò)Cannot find module node:url
- npm出現(xiàn)Cannot?find?module?'XXX\node_modules\npm\bin\npm-cli.js'錯(cuò)誤的解決方法
- Node.js包管理器代理工具Verdaccio輕松創(chuàng)建管理本地npm包倉(cāng)庫(kù)
- pnpm workspace管理monorepo項(xiàng)目使用過(guò)程詳解
- npm install jquery報(bào)錯(cuò)問(wèn)題解決
- npm run dev報(bào)錯(cuò)信息及解決方法
- 使用Github?Actions發(fā)布npm包完整過(guò)程詳解
- npm安裝依賴時(shí)出現(xiàn)Peer Dependencies沖突報(bào)錯(cuò)解決分析
相關(guān)文章
node.js在Linux下執(zhí)行shell命令、.sh腳本的問(wèn)題
很多時(shí)候需要多個(gè)命令來(lái)完成一項(xiàng)工作,而這個(gè)工作又常常是重復(fù)的,這個(gè)時(shí)候我們自然會(huì)想到將這些命令寫(xiě)成sh腳本,下次執(zhí)行下這個(gè)腳本一切就都搞定了,下面就是發(fā)布代碼的一個(gè)腳本示例2022-01-01node.js 使用 net 模塊模擬 websocket 握手進(jìn)行數(shù)據(jù)傳遞操作示例
這篇文章主要介紹了node.js 使用 net 模塊模擬 websocket 握手進(jìn)行數(shù)據(jù)傳遞操作,結(jié)合實(shí)例形式分析了node.js基于net模塊模擬 websocket握手相關(guān)原理及進(jìn)行數(shù)據(jù)傳遞具體操作技巧,需要的朋友可以參考下2020-02-02node.js中的console.trace方法使用說(shuō)明
這篇文章主要介紹了node.js中的console.trace方法使用說(shuō)明,本文介紹了console.trace的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12Highcharts+NodeJS搭建數(shù)據(jù)可視化平臺(tái)示例
本篇文章主要介紹了Highcharts+NodeJS搭建數(shù)據(jù)可視化平臺(tái),詳細(xì)的介紹了使用Highcharts框架的經(jīng)驗(yàn),有興趣的可以了解一下。2017-01-01輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序
這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(5):事件處理程序,本系列文章將一步一步創(chuàng)建一個(gè)完整的nodejs服務(wù)器,需要的朋友可以參考下2014-12-12Node.js HTTP服務(wù)器中的文件、圖片上傳的方法
這篇文章主要介紹了Node.js HTTP服務(wù)器中的文件、圖片上傳的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09nodejs開(kāi)發(fā)一個(gè)最簡(jiǎn)單的web服務(wù)器實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于nodejs開(kāi)發(fā)一個(gè)最簡(jiǎn)單的web服務(wù)器實(shí)例內(nèi)容,有需要的朋友們可以參考下。2020-01-01使用nodejs、Python寫(xiě)的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器
這篇文章主要介紹了使用nodejs、Python寫(xiě)的一個(gè)簡(jiǎn)易HTTP靜態(tài)文件服務(wù)器,分為nodejs和Python兩個(gè)版本,用類似淘寶的CSS、JS文件加載方式處理靜態(tài)文件加載,需要的朋友可以參考下2014-07-07