摘要:是執(zhí)行的源文件的所在路徑,也就是文件所在的,也就是腳手架中的源文件路徑。
首先拋出一個問題,大家在使用webpack,webpack-dev-server,babel-cli,vue-cli,npm這類工具的時候有沒有思考過一個問題?為什么我全局安裝這個模塊之后,就能在shell中使用webpack,babel這些命令?
解答:之所以能使用webpack這些命令,意味著我在npm install webpack -g時,有個可執(zhí)行文件添加到了我的環(huán)境變量中,如下圖:于是我在shell中敲擊webpack命令,系統(tǒng)就會在環(huán)境變量中查找webpack,然后執(zhí)行l(wèi)ink file指向的webpack bin目錄下的webpack.js 文件。接著就可以順利的執(zhí)行webpack相關(guān)的功能,編譯打包靜態(tài)文件........
那么讓我們開始用node寫一個CLI工具?。?!
第一步:首先要學(xué)會發(fā)布一個npm包很簡單,到npmjs注冊一個賬號,注冊好之后,到你的項(xiàng)目下
執(zhí)行 npm login,按提示操作即可
接著 npm publish,進(jìn)入你想要發(fā)布的包下,執(zhí)行該命令即可
不出意外,就成功發(fā)布了一個npm包
第二步:那么如何全局安裝這個包的時候,將可執(zhí)行文件注冊到環(huán)境變量?重點(diǎn)就是,package.json,bin配置可以將開發(fā)者希望執(zhí)行的腳本注冊到環(huán)境變量,順便把我的腳手架的項(xiàng)目結(jié)構(gòu)po出來,源碼: https://github.com/zhentaoo/p...
在執(zhí)行 npm install -g poke-ball之后,就能在環(huán)境變量中找到link file kk
如圖:
此時當(dāng)我在shell中敲擊kk的時候,就會執(zhí)行對應(yīng)的kk文件,于是就有了接下來的一系列操作.
在寫腳手架工具中,容易混亂的一個問題就是路徑,因?yàn)椴僮魑募倪^程中,你可能需要把CLI中的模版文件復(fù)制到當(dāng)前項(xiàng)目中。因此就出現(xiàn)了2個路徑
分別是
process.cwd() 當(dāng)前工作目錄,也就是你的當(dāng)前項(xiàng)目的路徑。
__dirname 是執(zhí)行的源文件的所在路徑,也就是bin文件所在的path,也就是腳手架中的源文件路徑。
第四步:優(yōu)化的點(diǎn)seed如果和CLI集成在一起,假如seed需要升級,那么CLI也不得不升級,所有使用方都不得不重新安裝CLI??梢园褍烧卟痖_。
CLI在new一個seed的時候,使用 git clone,但如果seed版本過多,seed的git倉庫勢必很大.使用git clone --depth 1,只clone最新版本會是個不錯的方案.之后在rm -rf .git
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/82592.html
摘要:從到完美,寫一個庫庫前端組件庫之前講了很多關(guān)于項(xiàng)目工程化前端架構(gòu)前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個完美的第三方庫。使用導(dǎo)出模塊,就可以在使用這個庫的項(xiàng)目中構(gòu)建時使用功能。 從 1 到完美,寫一個 js 庫、node 庫、前端組件庫 之前講了很多關(guān)于項(xiàng)目工程化、前端架構(gòu)、前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個完美的第三方庫。 1. 選擇合適的規(guī)范來寫代碼 js 模塊化的發(fā)展大致有...
摘要:從到完美,寫一個庫庫前端組件庫之前講了很多關(guān)于項(xiàng)目工程化前端架構(gòu)前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個完美的第三方庫。使用導(dǎo)出模塊,就可以在使用這個庫的項(xiàng)目中構(gòu)建時使用功能。 從 1 到完美,寫一個 js 庫、node 庫、前端組件庫 之前講了很多關(guān)于項(xiàng)目工程化、前端架構(gòu)、前端構(gòu)建等方面的技術(shù),這次說說怎么寫一個完美的第三方庫。 1. 選擇合適的規(guī)范來寫代碼 js 模塊化的發(fā)展大致有...
摘要:年終總結(jié)結(jié)果到這個時間才寫,其實(shí)也是無奈。這一年最重要的事情就是順利從一只學(xué)生狗轉(zhuǎn)職為一只社畜。四月份畢業(yè)之后以前端工程師的職位入職天貓,到現(xiàn)在也差不多工作一年了。 年終總結(jié)結(jié)果到這個時間才寫,其實(shí)也是無奈。本來計(jì)劃過年寫的,沒想到Steam竟然開了個農(nóng)歷春節(jié)特惠,然后就被各種游戲打了,辣雞平臺,斂我錢財(cái),頹我精神,耗我青春,害我單身 以下全都是個人看法,如果有不認(rèn)同的地方,請大吼一聲...
摘要:年終總結(jié)結(jié)果到這個時間才寫,其實(shí)也是無奈。這一年最重要的事情就是順利從一只學(xué)生狗轉(zhuǎn)職為一只社畜。四月份畢業(yè)之后以前端工程師的職位入職天貓,到現(xiàn)在也差不多工作一年了。 年終總結(jié)結(jié)果到這個時間才寫,其實(shí)也是無奈。本來計(jì)劃過年寫的,沒想到Steam竟然開了個農(nóng)歷春節(jié)特惠,然后就被各種游戲打了,辣雞平臺,斂我錢財(cái),頹我精神,耗我青春,害我單身 以下全都是個人看法,如果有不認(rèn)同的地方,請大吼一聲...
閱讀 3844·2021-10-12 10:11
閱讀 3650·2021-09-13 10:27
閱讀 2558·2019-08-30 15:53
閱讀 1989·2019-08-29 18:33
閱讀 2203·2019-08-29 14:03
閱讀 1007·2019-08-29 13:27
閱讀 3329·2019-08-28 18:07
閱讀 802·2019-08-26 13:23