您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“如何解決使用nodejs+koa+typescript集成和自動(dòng)重啟的問(wèn)題”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何解決使用nodejs+koa+typescript集成和自動(dòng)重啟的問(wèn)題”這篇文章吧。
Node.js: 16.13.1
創(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
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}`); });
注意:extends
字段的值根據(jù)你安裝的包名 @tsconfig/node**
替換
{ "extends": "@tsconfig/node16/tsconfig.json", "compilerOptions": { "baseUrl": ".", "rootDir": "src", "outDir": "dist", "noImplicitAny": true, }, "include": [ "src/**/*" ] }
"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\"" }
我們的所有源碼在 src
目錄下,tsc
編譯后的 js
文件在 dist
目錄下,這是在 tsconfig.json
文件中指定的路徑
本地開(kāi)發(fā):如果沒(méi)有 dist
目錄需要先執(zhí)行 yarn build
去編譯生成,然后再執(zhí)行 yarn watch
部署生產(chǎn):順序執(zhí)行 yarn build
、yarn serve
或 yarn start
(serve 和 start 是相同的命令)
以上是“如何解決使用nodejs+koa+typescript集成和自動(dòng)重啟的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。