<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題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關(guān)鍵字專題關(guān)鍵字專題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
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 19:44:15
        文檔

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

        怎樣使用Nodejs發(fā)布npm包并制作成命令行工具:這次給大家?guī)碓鯓邮褂肗odejs 發(fā)布npm包并制作成命令行工具,使用Nodejs 發(fā)布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。<span style="font-family:Arial, Helvetica, sans-serif;bac
        推薦度:
        導(dǎo)讀怎樣使用Nodejs發(fā)布npm包并制作成命令行工具:這次給大家?guī)碓鯓邮褂肗odejs 發(fā)布npm包并制作成命令行工具,使用Nodejs 發(fā)布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。<span style="font-family:Arial, Helvetica, sans-serif;bac
        這次給大家?guī)碓鯓邮褂肗odejs 發(fā)布npm包并制作成命令行工具,使用Nodejs 發(fā)布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。

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

        下面我記錄一下自己的實現(xiàn)過程。

        1. npm init

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

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

        version:你這個包的版本,默認(rèn)是1.0.0

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

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

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

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

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

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

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

        然后它就會問你Are you ok?

        回車Ok!

        然后我們回到我們的文件目錄里面去看一看,發(fā)現(xiàn)多出來一個package.json文件

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

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

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

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

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

        2. npm publish

        寫完自己的npm包,測試運(yùn)行沒問題后就可以發(fā)布到npm上

        首先得注冊個npm帳號

        用npm命令登陸一下

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

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

        3. 生成命令行工具

        在使用 Nodejs 過程中,有很多包都支持全局安裝,提供一個命令,然后在命令行我們就可以完成一些任務(wù)。有時候我們也需要開發(fā)這樣的命令工具。在Node.js 中發(fā)現(xiàn)弄個命令行工具特別輕松。我使用的是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" 
         },

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

        全局運(yùn)行命令調(diào)試

        install

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

        sudo npm install . -g

        link

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

        相信看了本文案例你已經(jīng)掌握了方法,更多精彩請關(guān)注Gxl網(wǎng)其它相關(guān)文章!

        推薦閱讀:

        怎樣使用angularjs中http服務(wù)器

        vue中keep-alive使用方法詳解

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

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

        文檔

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

        怎樣使用Nodejs發(fā)布npm包并制作成命令行工具:這次給大家?guī)碓鯓邮褂肗odejs 發(fā)布npm包并制作成命令行工具,使用Nodejs 發(fā)布npm包并制作成命令行工具的注意事項有哪些,下面就是實戰(zhàn)案例,一起來看一下。<span style="font-family:Arial, Helvetica, sans-serif;bac
        推薦度:
        標(biāo)簽: js 命令行工具 node
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 好猛好深好爽好硬免费视频| 欧洲人免费视频网站在线| 亚洲国产精品一区二区第一页免| yellow视频免费在线观看| 香蕉蕉亚亚洲aav综合| 拨牐拨牐x8免费| 成人免费777777被爆出| 亚洲国产高清美女在线观看| 免费欧洲美女牲交视频| 日本在线看片免费人成视频1000| 亚洲狠狠色丁香婷婷综合| 在线精品亚洲一区二区| 免费一看一级毛片| 很黄很污的网站免费| 亚洲AV无码片一区二区三区| 亚洲五月激情综合图片区| 免费在线观看的黄色网址| 四虎永久在线精品免费观看视频| 无码人妻一区二区三区免费视频 | 特级av毛片免费观看| 亚洲精品自在线拍| 亚洲午夜日韩高清一区| 最近高清国语中文在线观看免费| 精品免费tv久久久久久久| 豆国产96在线|亚洲| 亚洲免费观看网站| 久久久青草青青亚洲国产免观| 日韩中文无码有码免费视频| 亚欧免费视频一区二区三区| 成人av片无码免费天天看| 亚洲精品国产av成拍色拍| 亚洲黄色免费观看| 亚洲国产精品无码AAA片| 国产99视频免费精品是看6| av无码免费一区二区三区| 免费国产污网站在线观看| 视频免费1区二区三区| 亚洲av无码成人精品国产| 最新国产成人亚洲精品影院| 久久亚洲私人国产精品vA| 亚洲日韩精品一区二区三区|