成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

npm入手筆記0x002-發(fā)布自己的Node.js模塊及其版本管理

mrli2016 / 545人閱讀

摘要:概述本篇文章承接上文,記錄的是如何發(fā)布自己的模塊編寫模塊新建項(xiàng)目并初始化編寫模塊代碼發(fā)布模塊測(cè)試模塊命名空間每個(gè)人都可以發(fā)布自己的包,難免會(huì)有包名相同的情況,如果想要使

0x001 概述

本篇文章承接上文,記錄的是如何發(fā)布自己的Node.js模塊

0x002 編寫模塊

新建項(xiàng)目并初始化

$ mkdir 0x005-publish-own-module
$ cd 0x005-publish-own-module
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (0x005-publish-own-module) 
version: (1.0.0) 
description: 
entry point: (index.js) 
test command: 
git repository: 
keywords: 
author: 
license: (ISC) 
About to write to /MY_PROJECT/PROJECT_OWN/NodeJS/npm/0x005-publish-own-module/package.json:

{
  "name": "0x005-publish-own-module",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo "Error: no test specified" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this ok? (yes)

編寫模塊代碼

$ vim index.js

// index.js
exports.printMsg = function() {
  console.log("This is a message from the demo package");
}

發(fā)布模塊

$ npm publish --access=public
+ [email protected]

測(cè)試模塊

$ mkdir 0x006-use-own-package
$ cd 0x006-use-own-package
$ npm install [email protected]
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

+ [email protected]

$ vim index.js

// index.js
var myModule = require("0x005-publish-own-module");
console.log(myModule);
myModule.printMsg();

$ node index.js
{ printMsg: [Function] }
This is a message from the demo package
0x003 命名空間

每個(gè)人都可以發(fā)布自己的包,難免會(huì)有包名相同的情況,如果想要使用一個(gè)已經(jīng)存在的包的包名,可以使用命名空間
package.json中的包名該為@scope/package_name就行,比如@followwinter/lodash
其中,scope為當(dāng)前登錄的用戶名,package_name便是包名,則在安裝、更新、移除、require包的時(shí)候都必須該為這種格式

0x004 包版本管理

項(xiàng)目的初始化版本號(hào)為1.0.0,當(dāng)然也可以自行修改,也可以不遵守以下規(guī)范

主版本號(hào):版本更新,具有顛覆式的改變或者架構(gòu)的改變

次版本號(hào):新功能更新

bug修復(fù)版本號(hào):bug修復(fù)

0x005 tag使用

為一個(gè)版本添加一個(gè)tag
npm dist-tag add @ []

發(fā)布一個(gè)有tag的版本

npm publish --tag beta --access=public

安裝

npm install 0x005-publish-own-module@beta

0x006 總結(jié)

npm publish [[--tag beta] [--access public]]

發(fā)布一個(gè)包

如果access=public,則這個(gè)包為公共的,所有人都可以通過npm安裝這個(gè)包

如果攜帶了tag參數(shù),則可以通過npm install >來安裝這個(gè)版本的包

npm dist-tag add @ []為某個(gè)版本添加一個(gè)tag

0x007 資源

項(xiàng)目github

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88495.html

相關(guān)文章

  • npm入手筆記0x001-項(xiàng)目初始化和包增刪改

    摘要:引用并執(zhí)行如果安裝出錯(cuò),比如寫錯(cuò)了包名,將會(huì)發(fā)生以下事情命令行報(bào)錯(cuò)使用可以自己新建一個(gè)文件編寫也可以直接使用來初始化一個(gè)該命令是一個(gè)交互式命令,可以根據(jù)提示輸入相應(yīng)信息生成相應(yīng)的,命令提示后面的中為提示內(nèi)容,可以選擇一路,然后再去修改。 0x001 概述 npm是一個(gè)包管理工具,本文章基本算是對(duì)官方文檔的解讀、翻譯和實(shí)操筆記,順便說明使用npm中的坑。 0x002 安裝Node.js ...

    Baoyuan 評(píng)論0 收藏0
  • npm入手筆記0x005-v2和v3包依賴管理不同

    摘要:概述本篇文章承接上文,記錄的和版本在包管理方面的異同,基于閱讀官方原文整理簡(jiǎn)化。此時(shí)的文件夾如下所示包的復(fù)制和取消復(fù)制假設(shè)我們有一個(gè)項(xiàng)目依賴添加依賴依賴,此時(shí)添加依賴依賴,此時(shí)升級(jí)依賴依賴,此時(shí)升級(jí)依賴依賴,此時(shí)執(zhí)行查看文件夾資源項(xiàng)目 0x000 概述 本篇文章承接上文,記錄的v2和v3版本在包管理方面的異同,基于閱讀官方原文整理簡(jiǎn)化。 0x001 v2管理方式 假設(shè)有模塊A、B、C,...

    ssshooter 評(píng)論0 收藏0
  • npm入手筆記0x003-一些常見問題記錄

    摘要:如何選擇就如果上面所有,需要打包進(jìn)生產(chǎn)環(huán)境就保存到,只是在開發(fā)或者打包的時(shí)候使用的就保存到即可。提示不能發(fā)布當(dāng)前版本解決方案不能發(fā)布已經(jīng)發(fā)布的版本,修改一下版本號(hào)就可以了想不到了,想到了再寫資源項(xiàng)目 0x001 概述 本篇文章承接上文,記錄的是一些使用過程中的疑惑 0x001 墻的原因使得包下載太慢 解決方案:使用淘寶cnpm,推薦使用cnpm,因?yàn)槿绻薷膎pm倉(cāng)庫(kù),將會(huì)導(dǎo)致無法發(fā)布...

    luffyZh 評(píng)論0 收藏0
  • npm入手筆記0x004-npm命令及配置文件說明(未完善)

    摘要:概述本篇文章承接上文,記錄的的配置和命令的詳細(xì)說明。的配置說明項(xiàng)目名稱,的時(shí)候就是使用這個(gè)。案例說明版本號(hào),符合的版本規(guī)范的版本號(hào),默認(rèn)從開始。 0x000 概述 本篇文章承接上文,記錄的package.json的配置和npm命令的詳細(xì)說明。 0x001 package.json的配置 name: 說明:項(xiàng)目名稱,npm install的時(shí)候就是使用這個(gè)name。 案例:loda...

    mzlogin 評(píng)論0 收藏0
  • 從零開始webpack生活-0x002:devServer自動(dòng)刷新

    摘要:概述上一章已經(jīng)實(shí)現(xiàn)了最簡(jiǎn)單的配置文件使用和監(jiān)聽功能,這一章要開始實(shí)現(xiàn)自動(dòng)刷新。只能在終端中使用的在章節(jié)中指令后標(biāo)有可以使用的功能,快速調(diào)用終端最終項(xiàng)目文件夾結(jié)構(gòu)資源源代碼 0x001 概述 上一章已經(jīng)實(shí)現(xiàn)了最簡(jiǎn)單的webpack配置文件使用和webpack監(jiān)聽功能,這一章要開始實(shí)現(xiàn)自動(dòng)刷新。 0x002 瀏覽器自動(dòng)刷新 創(chuàng)建新的項(xiàng)目框架 - webpack_study + ...

    AlanKeene 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<