国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

怎樣使用Nodejs發布npm包并制作成命令行工具

來源:懂視網 責編:小采 時間:2020-11-27 19:44:15
文檔

怎樣使用Nodejs發布npm包并制作成命令行工具

怎樣使用Nodejs發布npm包并制作成命令行工具:這次給大家帶來怎樣使用Nodejs 發布npm包并制作成命令行工具,使用Nodejs 發布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰案例,一起來看一下。<span style="font-family:Arial, Helvetica, sans-serif;bac
推薦度:
導讀怎樣使用Nodejs發布npm包并制作成命令行工具:這次給大家帶來怎樣使用Nodejs 發布npm包并制作成命令行工具,使用Nodejs 發布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰案例,一起來看一下。<span style="font-family:Arial, Helvetica, sans-serif;bac
這次給大家帶來怎樣使用Nodejs 發布npm包并制作成命令行工具,使用Nodejs 發布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰案例,一起來看一下。

<span style="font-family:Arial, Helvetica, sans-serif;background-color:rgb(255,255,255);">近日當我在使用npm上已經存在的一個包時,發現它有bug;于是決定自己實現這個功能,自己寫一個npm包。</span>

下面我記錄一下自己的實現過程。

1. npm init

選擇一個文件夾,然后用命令行cd進去,然后執行npm init,這時會生成一長串表單,根據自己的實際情況填寫內容

name:填寫你這個包的名字,默認是你這個文件夾的名字。不過這里要著重說一下,最好先去npm上找一下有沒有同名的包。最好的測試方式就是,在命令行里面輸入npm install 你要取的名字,如果報錯,那么很好,npm上沒有跟你同名的包,你可以放心大膽地把包發布出去。如果成功下載下來了。。那么很不幸,改名字吧。。

version:你這個包的版本,默認是1.0.0

description:其實我也不知道是什么,按回車就好了。。,這個用一句話描述你的包是干嘛用的

entry point:入口文件,默認是Index.js,你也可以自己填寫你自己的文件名

test command:測試命令,這個直接回車就好了,因為目前還不需要這個。

git repository:這個是git倉庫地址,如果你的包是先放到github上或者其他git倉庫里,這時候你的文件夾里面會存在一個隱藏的.git目錄,npm會讀到這個目錄作為這一項的默認值。如果沒有的話,直接回車繼續。

keyword:這個是一個重點,這個關系到有多少人會搜到你的npm包。盡量使用貼切的關鍵字作為這個包的索引。我這個包嘛,第一是在express下工作的,然后又是一個插件plugin,然后又是一個注冊路由route用的,而這個路由又是基于文件目錄dir,所以很好就得出我的包的索引關鍵字。

author:寫你的賬號或者你的github賬號吧

license:這個直接回車,開源文件來著。。

然后它就會問你Are you ok?

回車Ok!

然后我們回到我們的文件目錄里面去看一看,發現多出來一個package.json文件

然后,在目錄下新建一個index.js文件,或者你剛才修改了那個entry point的值,那么你這個文件名也跟著改為那個值。

我的npm工程目錄結構就是這樣的,注意其中的bin文件夾是我為了制作命令行工具才生成的,后面會講到怎么生成命令行工具;當然,如果那不想生成命令行工具,這個文件夾就不需要了。

因為我把封裝好的代碼都扔在lib里面,所以,index.js里面也就一句話:

module.exports=require('./lib')

然后,最重要的,寫好README.md,一個給大家描述你的包的markdown文件,如果大家都不知道你的代碼是做什么的,會有人去下載你的代碼嗎?哦,對了,最好寫英文。

2. npm publish

寫完自己的npm包,測試運行沒問題后就可以發布到npm上

首先得注冊個npm帳號

用npm命令登陸一下

然后,在你的目錄下使用npm publish

注意:一般情況下,一旦你要修改你已經發布后的代碼,然后又要執行發布操作,務必到package.json里面,把version改一下,比如從1.0.0改為1.0.1,然后在執行npm publish,這樣就可以成功發布了。

3. 生成命令行工具

在使用 Nodejs 過程中,有很多包都支持全局安裝,提供一個命令,然后在命令行我們就可以完成一些任務。有時候我們也需要開發這樣的命令工具。在Node.js 中發現弄個命令行工具特別輕松。我使用的是commander包來生成命令行工具

$ npm install commander

然后cd到bin目錄下,新建一個.js文件(名字自取),編寫代碼,在js文件頂部加上#!/usr/bin/env node

例如我的geAsar.js:

#!/usr/bin/env node
var asar = require('../lib/geAsar')
var program = require('commander');
program.version('v' + require('../package.json').version)
 .description('Manipulate asar archive files')
program.command('pack <dir> <output>')
 .alias('p')
 .description('create asar archive')
 .action(function (dirpath, output) {
 asar.geAsar(dirpath,output);
 console.log(output+"文件成功生成");
 })
program.parse(process.argv)
if (program.args.length === 0) {
 program.help()
}

然后還需在package.json中添加

"bin": { 
 "geAsar": "./bin/geAsar.js" 
 },

運行 node bin/geAsar.js 會顯示當前文件夾下的所以文件和文件夾名。這個玩意兒真的跑起來了.

全局運行命令調試

install

如果在項目目錄下運行沒有問題,可以將當前目錄模塊安裝到全局,也可以采用此方法來更新你的命令行工具

sudo npm install . -g

link

或者目錄輸入 npm link 會自動添加全局的 symbolic link ,然后就可以使用自己的命令了。 (我用的是這個)

相信看了本文案例你已經掌握了方法,更多精彩請關注Gxl網其它相關文章!

推薦閱讀:

怎樣使用angularjs中http服務器

vue中keep-alive使用方法詳解

vue項目中type=”file“ change事件只執行一次怎樣處理

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

怎樣使用Nodejs發布npm包并制作成命令行工具

怎樣使用Nodejs發布npm包并制作成命令行工具:這次給大家帶來怎樣使用Nodejs 發布npm包并制作成命令行工具,使用Nodejs 發布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰案例,一起來看一下。<span style="font-family:Arial, Helvetica, sans-serif;bac
推薦度:
標簽: js 命令行工具 node
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产精品国产三级国产a | 亚洲一区二区三区免费视频 | 国产全黄a一级毛片视频 | 国产精品手机视频一区二区 | 亚洲高清在线视频 | 亚洲欧美日韩国产综合高清 | 国产欧美一区二区三区鸳鸯浴 | 日韩精品欧美一区二区三区 | 国产精选一区二区 | 国产日韩一区 | 91精品国产高清久久久久久91 | 亚洲精品免费观看 | 99久久精品国产国产毛片 | 国产日韩一区二区 | 影音先锋女人aa鲁色资源 | 黑丝草逼 | 久久久亚洲欧美综合 | 97精品视频在线 | 国产精品一区视频 | 久久久久久亚洲精品中文字幕 | 91久久国产| 欧洲日韩视频二区在线 | 91精品久久久久久久久久 | 国产精品va一级二级三级 | 综合 欧美 国产 视频二区 | 久久91精品国产99久久yfo | 国产高清一区二区三区 | 国产精品免费网站 | 国产成人精品一区二区 | 亚洲国产视频网站 | 日韩在线视频免费 | 欧美日韩高清在线观看一区二区 | 国产盗摄精品一区二区三区 | 精品久久久久久中文字幕 | 毛片免费观看成人 | 国产日产欧美精品一区二区三区 | 精品国产一区二区三区久久久蜜臀 | 久久久久久国产a免费观看黄色大片 | 97毛片| 天码毛片一区二区三区入口 | 亚洲国产精品视频 |