欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用nodejs?+?koa?+?typescript?集成和自動(dòng)重啟的問(wèn)題

 更新時(shí)間:2021年12月28日 11:01:28   作者:myEsn2E9's?Notepad  
這篇文章主要介紹了nodejs?+?koa?+?typescript?集成和自動(dòng)重啟,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

版本說(shuō)明

Node.js: 16.13.1

創(chuàng)建項(xiàng)目

創(chuàng)建如下目錄結(jié)構(gòu)

project
├── src
│   └── server.ts
├── package.json
└── tsconfig.json

package.json 可以使用 yarn init -y 生成
tsconfig.json 可以使用 tsc --init 生成(需要全局或在項(xiàng)目中安裝 typescript 包才可以使用 tsc 命令)

安裝依賴

注意:

  • @tsconfig/node16 包需要根據(jù) Node.js 的版本變化,我電腦上安裝的是 16.x.x 的版本,所以用的是 @tsconfig/node16,具體看 tsconfig/bases 中的說(shuō)明,當(dāng)然也可以完全不用安裝這個(gè)包,這個(gè)包優(yōu)點(diǎn)是公用性和主流推薦配置
  • typescript 如果已經(jīng)全局安裝過(guò)了,就從下面的命令中移除它
  • concurrently 是一個(gè)并發(fā)執(zhí)行多個(gè)命令的工具包
  • nodemon 是一個(gè)監(jiān)聽(tīng)文件變化自動(dòng)重啟程序的工具包
yarn add koa
yarn add typescript @tsconfig/node16 @types/node @types/koa concurrently nodemon -D

填充內(nèi)容

src/server.ts

import Koa from 'koa';

const server: Koa = new Koa();
const port: number = 3000;

server.use((ctx: Koa.DefaultContext) => {
    ctx.body = 'hi koa';
});

server.listen(port, () => {
    console.log(`Node.js v${process.versions.node}`);
});

tsconfig.json

注意:extends 字段的值根據(jù)你安裝的包名 @tsconfig/node** 替換

{
  "extends": "@tsconfig/node16/tsconfig.json",
  "compilerOptions": {
    "baseUrl": ".",
    "rootDir": "src",
    "outDir": "dist",
    "noImplicitAny": true,
  },
  "include": [
    "src/**/*"
  ]
}

package.json

"scripts": {
  "build-ts": "tsc",
  "build": "yarn build-ts",
  "debug": "yarn build && yarn watch-debug",
  "serve-debug": "nodemon --inspect dist/server.js",
  "serve": "node dist/server.js",
  "start": "yarn serve",
  "watch-debug": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"",
  "watch-node": "nodemon dist/server.js",
  "watch-ts": "tsc -w",
  "watch": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:watch-node\""
}

運(yùn)行

我們的所有源碼在 src 目錄下,tsc 編譯后的 js 文件在 dist 目錄下,這是在 tsconfig.json 文件中指定的路徑

本地開(kāi)發(fā):如果沒(méi)有 dist 目錄需要先執(zhí)行 yarn build 去編譯生成,然后再執(zhí)行 yarn watch

部署生產(chǎn):順序執(zhí)行 yarn build、yarn serveyarn start(serve 和 start 是相同的命令)

參考資料

microsoft/TypeScript-Node-Starter

到此這篇關(guān)于nodejs?+?koa?+?typescript?集成和自動(dòng)重啟的文章就介紹到這了,更多相關(guān)nodejs??koa??typescript內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • node.js報(bào)錯(cuò):Cannot find module ''ejs''的解決辦法

    node.js報(bào)錯(cuò):Cannot find module ''ejs''的解決辦法

    最近發(fā)現(xiàn)了node.js居然報(bào)錯(cuò)了,錯(cuò)誤提示為:Cannot find module 'ejs',后來(lái)找了找資料發(fā)現(xiàn)解決的方法其實(shí)很簡(jiǎn)單,下面通過(guò)這篇文章來(lái)一起看看吧,希望對(duì)同樣遇到這個(gè)問(wèn)題的朋友們能有所幫助。
    2016-12-12
  • Docker平臺(tái)下NodeJs?Puppeteer實(shí)現(xiàn)html轉(zhuǎn)pdf過(guò)程示例

    Docker平臺(tái)下NodeJs?Puppeteer實(shí)現(xiàn)html轉(zhuǎn)pdf過(guò)程示例

    這篇文章主要為大家介紹了Docker平臺(tái)下NodeJs?Puppeteer實(shí)現(xiàn)html轉(zhuǎn)pdf過(guò)程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • package.json的版本號(hào)更新優(yōu)化方法

    package.json的版本號(hào)更新優(yōu)化方法

    這篇文章主要為大家介紹了package.json的版本號(hào)更新優(yōu)化方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • node.js中的fs.readFile方法使用說(shuō)明

    node.js中的fs.readFile方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.readFile方法使用說(shuō)明,本文介紹了fs.readFile的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • node實(shí)現(xiàn)登錄圖片驗(yàn)證碼的示例代碼

    node實(shí)現(xiàn)登錄圖片驗(yàn)證碼的示例代碼

    這篇文章主要介紹了node實(shí)現(xiàn)登錄圖片驗(yàn)證碼的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 輕松創(chuàng)建nodejs服務(wù)器(9):實(shí)現(xiàn)非阻塞操作

    輕松創(chuàng)建nodejs服務(wù)器(9):實(shí)現(xiàn)非阻塞操作

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(9):實(shí)現(xiàn)非阻塞操作,本系列文章會(huì)教你一步一步創(chuàng)建一個(gè)完整的服務(wù)器,要的朋友可以參考下
    2014-12-12
  • Node.js中Express框架使用axios同步請(qǐng)求(async+await)實(shí)現(xiàn)方法

    Node.js中Express框架使用axios同步請(qǐng)求(async+await)實(shí)現(xiàn)方法

    這篇文章主要介紹了Node.js中Express框架使用axios同步請(qǐng)求(async+await)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了express框架使用異步交互axios模塊實(shí)現(xiàn)同步請(qǐng)求的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2023-04-04
  • 基于nodejs+express(4.x+)實(shí)現(xiàn)文件上傳功能

    基于nodejs+express(4.x+)實(shí)現(xiàn)文件上傳功能

    通過(guò)一段時(shí)間的查閱資料發(fā)現(xiàn)實(shí)現(xiàn)上傳的方式有:1.express中間件multer模塊2.connect-multiparty模塊(但現(xiàn)在 官方不推薦 )3.使用multiparty模塊實(shí)現(xiàn)4.使用formidable插件實(shí)現(xiàn),本文給大家介紹nodejs+express(4.x+)實(shí)現(xiàn)文件上傳功能,需要的朋友參考下
    2015-11-11
  • express的中間件basicAuth詳解

    express的中間件basicAuth詳解

    這篇文章主要介紹了node.js中express的中間件basicAuth的使用方法,需要的朋友可以參考下
    2014-12-12
  • 手把手教你實(shí)現(xiàn) Promise的使用方法

    手把手教你實(shí)現(xiàn) Promise的使用方法

    這篇文章主要介紹了手把手教你實(shí)現(xiàn) Promise的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評(píng)論