<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
與之前使用JavaScript
開發後臺不同,區別如下:
nodemon
替換為ts-node-dev
。TypeScript
環境下,需要使用到ES6
模組化規範。而非CommonJS
規則。TypeScript
語法進行開發,再開發結束後,需要進行編譯打包為JavaScript
去執行。yarn global add ts-node-dev typescript
ts-node-dev:與nodemon
功能類似,在修改程式碼之後,儲存即可生效,無需手動重啟。
# 例如 ts-node-dev src/app.ts # 如果想要監聽檔案的改變需要加上 --respawn 引數 ts-node-dev --respaswn src/app.ts # 使用簡短的別名 tsnd --respawn src/app.ts
# 生成tsconfig.json tsc --init
修改tsconfig.json
如下:
{ "compilerOptions": { "target": "esnext", // 目標語言版本 "module": "commonjs", // 指定生成程式碼的模板標準 "sourceMap": true, "outDir": "./dist", "rootDir": "./src", // 指定輸出目錄, 預設是dist資料夾 "strict": true, "esModuleInterop": true, "allowSyntheticDefaultImports": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true }, // 需要編譯的的檔案和目錄 "include": ["src"], "exclude": ["node_modules", "dist", "public"] }
# 依賴安裝 yarn add koa yarn add typescript -D # 依賴註解 yarn add @types/koa -D
再app.ts
中範例化一個伺服器。
import Koa, { DefaultContext, DefaultState, Context } from 'Koa' const app: Koa<DefaultState, DefaultContext> = new Koa() app.use(async (ctx: Context) => { ctx.body = 'coderlzw' }) app.listen(3000, () => { console.log('服務啟動成功,running http://127.0.0.1:3000') })
再package.json
中新增偵錯指令碼:
"scripts": { "dev": "ts-node-dev --respawn app.ts" }
啟動服務:
現在,我們使用Koa
和TypeScript
搭建了一個簡單的伺服器,我們http://127.0.0.1:3000便可以再瀏覽器中看到”coderlzw“
# 依賴安裝 yarn add koa koa-router koa-cors koa-bodyparser dotenv yarn add ts-node-dev npm-run-all typescript -D # 依賴註解 yarn add @types/koa @types/koa-bodyparser @types/koa-router @types/koa-cors -D
dotenv
是一個零依賴的模組,它能將環境變數中的變數從.env
檔案載入到process.env
中。
在根目錄下建立.env
檔案
HOST=localhost PORT=3000
在*.js/*.ts
中使用
import dotenv from 'dotenv' dotenv.config() const { PORT, HOST } = process.env
npm-run-all
是一個批次執行npm
指令碼的工具。
service ├─ package.json ├─
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45