<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          開發(fā)一個(gè)屬于自己的 web 服務(wù)器

          共 2114字,需瀏覽 5分鐘

           ·

          2020-12-20 22:06

          嗨,我是你穩(wěn)定更新、持續(xù)輸出的勾勾。




          周二,又是分外充實(shí)的一天,在寫代碼——改代碼——寫代碼中平穩(wěn)度過。


          今天在搭建業(yè)務(wù)的時(shí)候,又需要使用 web 服務(wù)器。


          這一看,又得從 0 開始。從下載搭建開始,反反復(fù)復(fù),真的太浪費(fèi)時(shí)間和精力了。


          為了以后能愉快地摸魚提升效率,心一狠,算了,自己手動(dòng)擼一個(gè)發(fā)布到 npm 官網(wǎng)去,然后全局安裝下,下次使用就可以直接指令啟動(dòng)了。


          創(chuàng)建開始目錄


          創(chuàng)建一個(gè)文件夾,起個(gè)花名 cwj-serve ,在這個(gè)目錄下創(chuàng)建一個(gè) bin 文件夾,里面新建一個(gè) serve.js 文件,內(nèi)容如下:


          #!/usr/bin/env?node//-----package---const?boxen?=?require("boxen")const?express?=?require("express")const?app?=?express()app.use(express.static(process.cwd()));//---let?message?=?`????Serving!????????????????????????????????????????????-?Local:????????????http://localhost:9000????Copied?local?address?to?clipboard!`app.listen(9000,()=>{????console.log(boxen(message,{????????padding:?1,????????borderColor:?'green',????????margin:?1????}))})


          這里是結(jié)合 express 搭建的 web server。它輕小便捷,且業(yè)務(wù)層面都已開發(fā)出來,所以就直接上手了,小伙伴們可以按自己的需要來。當(dāng)然,思路都是一致的。


          在這里強(qiáng)調(diào)一行代碼。

          app.use(express.static(process.cwd()));


          這行代碼的意思就是把當(dāng)前啟動(dòng)的終端目錄設(shè)定為靜態(tài)目錄。


          完事之后,通過 npm init -y 創(chuàng)建一個(gè) package.json 文件,然后在這個(gè) json 文件里補(bǔ)充一個(gè) bin 字段,屬性值是 “./bin/serve.js”,如下面內(nèi)容所示:

          {??"name":?"cwj-serve",??"version":?"1.0.0",??"description":?"",??"main":?"index.js",??"bin":?{????"cwj-serve":?"./bin/serve.js"???//需要手動(dòng)添加??},??"scripts":?{??},??"keywords":?[],??"author":?"",??"license":?"ISC",??"dependencies":?{????"boxen":?"^4.2.0",????"express":?"^4.17.1"??}}


          在終端下載 express boxen;下載指令 ?npm install express boxen


          本地測試


          代碼完成之后,暫時(shí)不要著急發(fā)布,需要本地測試一下,看是否成功。


          通過 npm link 軟連接到本地的 npm 目錄下,在桌面建立一個(gè)文件夾,命名為 demo。在面添加一個(gè) index.html 文件,寫個(gè) hello world 就行。


          在這個(gè) demo 文件夾下啟動(dòng)終端直接輸入 cwj-serve?



          回到瀏覽器輸入 http://localhost:9000 效果如下:



          正式發(fā)布


          測試沒有問題之后,下一步就是發(fā)布到 npm 官網(wǎng)了。操作步驟流程如下:


          • 先去 npm 官網(wǎng)注冊一個(gè)賬號(hào)

          • 回到 cwj-serve 目錄的終端

            • npm login 登錄 npm

            • npm publish 直接發(fā)布


          注意:發(fā)布之前一定要檢查自己的 .npmrc 的鏡像是不是 npm 的,一般都是淘寶鏡像。



          成功之后,在瀏覽器的 npmjs.com 官網(wǎng)中找到個(gè)人中心,稍等幾分鐘就能找到自己發(fā)布的這個(gè) cwj-serve 包了。


          測試是否成功


          • 在桌面隨便創(chuàng)建一個(gè)文件夾,打開終端全局安裝 cwj-serve ?npm i cwj-serve -g

          • 再添加一個(gè) index.html 文件寫點(diǎn)內(nèi)容

          • 終端 cwj-serve 回車


          效果如上圖 hello world 所示,那就表示成功了。


          你就擁有了一個(gè)自己的專屬服務(wù)器(????)??。


          推薦閱讀:

          是我 Web 端配不上阿里了。

          女媧大戰(zhàn)蟲族,背后到底有多少故事?

          現(xiàn)代版戰(zhàn)國七雄爭霸,買菜大戰(zhàn)何時(shí)休?

          別再復(fù)制粘貼了!高效工作神器—— plop

          API 終結(jié)者 —— 殺手 Reflect

          前端人因?yàn)?Vue3 的 Ref-sugar 提案打起來了!

          CRA 為什么要做成“黑盒”


          點(diǎn)點(diǎn)“”和“在看”,保護(hù)頭發(fā),減少bug。

          瀏覽 42
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  人人超碰国产五月天 | 午夜高清无码视频 | 精品视频观看 | 免费A V视频 | 一级乱轮视频 |