koa2+typescript環境搭建


詳細實現方式以及源碼下載請前往 https://www.passerma.com/article/70

"koa2+typescript環境搭建

1.安裝koa2腳手架

全局安裝koa2腳手架  npm install -g koa-generator  

2.使用腳手架創建項目

  koa2 project  

后面的project表示項目的名稱,我這里以koa2-ts項目名為命令  koa2 koa2-ts  舉例,創建完成,生成以下目錄

 

進入項目,安裝依賴

  cd project   
  npm install  

3.創建typescript環境

整理文件夾項目,開始構建typescript環境

1).重新整理文件

新建src文件夾,將routes,bin目錄移動至src目錄下,作為ts編譯的入口

將app.js也移入到src目錄

將bin下的www文件重命名為www.js

 


2).創建並配置tsconfig.json文件

使用  tsc -init  ,會在當前目錄創建tsconfig.json文件,修改配置文件

將compilerOptions里的allowJs解開注釋設置為true


將compilerOptions里的outDir解開注釋設置為./build

將compilerOptions里的rootDir解開注釋設置為./src

將compilerOptions里的esModuleInterop解開注釋設置為true

在compilerOptions同級增加exclude屬性,設置值如下數組

[
"node_modules",
"views",
"public",
"build"
]

去掉無用項,得到最終配置項

{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"allowJs": true,
"outDir": "./build",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true
},
"exclude": [
"node_modules",
"views",
"public",
"build"
]
}

安裝typescript 

  npm i typescript -D  

3).修改package.json文件

先安裝項目啟動所需依賴兩個的文件:nodemon,concurrently

  npm i nodemon concurrently -D  

增加對應的scripts腳本命令,設置完成后如下

"scripts": {
"dev:tsc": "tsc -w",
"dev:nodemon": "nodemon build/www",
"dev": "tsc && concurrently npm:dev:*",
"start": "tsc && node build/www"
}
4).修改app.js文件內容

引入path模塊,修改靜態文件以及模板文件目錄

let staticPath = path.join(__dirname, '../public'); // 靜態地址
let viewsPath = path.join(__dirname, '../views'); // 模板地址
app.use(require('koa-static')(staticPath))
app.use(views(viewsPath, {
extension: 'pug'
}))
5).啟動項目,默認端口是3000

  npm run dev  啟動開發環境,每次修改完成都會實時重啟項目

  npm start  啟動生產環境,只會啟動一次項目 


瀏覽器訪問http://localhost:3000/,成功啟動項目

 


4.typescript環境下編寫接口

在routes下創建tsRoutes.ts文件

引入koa-router,現在可以使用import語法引入了,同時需要安裝koa-router的類型定義文件  npm install @types/koa-router -D  

import Router from 'koa-router'

const router = new Router();
router.prefix('/tsRoutes')

router.get('/', async (ctx) => {
ctx.body = {
data: [1, 2, 3]
};
})

export default router

在app.js引入該路由文件即可

瀏覽器訪問http://localhost:3000/tsRoutes,成功解析ts文件

 

 

5.總結

代碼已上傳GitHub,鏈接koa2+typescript環境搭建

詳細實現方式以及源碼下載請前往 https://www.passerma.com/article/70


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM