从零开始学typescript构建一个rest风格web服务

随着应用的庞大,项目中 javascript 的代码也会愈来愈臃肿,团队之间的协做也会遇到难题,若是不一直看 api 文档,很难知道团队其余成员写的方法须要什么参数,返回结果又是什么。javascript

解决的方案有不少,这里不比较各类方法的优劣,仅说下选择 typescript 的考虑:一、接受程序好,ts 文件中能够直接写 javascript 代码,平滑过渡;二、vs code 的提示够好。java

下面开始一步一步地搭建 web 服务( windows环境 )node

1、typescript 开发环境如何配置es6

一、初始化项目web

yarn init -y

二、安装 typescripttypescript

yarn add typescript @types/node --dev

三、配置 typescript 编译环境shell

在项目根目录下新建文件 tsconfig.json数据库

{
  "compilerOptions": {
    "target": "es2017",
    "outDir": "./dist",
    "module": "commonjs",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": [         
       "es6"
    ],
    "noImplicitAny": false,
    "sourceMap": false,
    "allowJs": true
  },
  "include": [        
    "./src/**/*"
  ],
  "exclude": [ 
    "node_modules" 
  ] 
}

四、测试json

新文件夹 src 并添加文件 server.ts,在文件中写下以下代码windows

console.log("Hello TypeScript");

五、编译

.\node_modules\.bin\tsc

六、运行

node ./dist/server.js

若是能看到控制台输出

Hello TypeScript

恭喜你,typescript 环境配置成功!

2、集成 web 开发框架 koa

一、安装 koa 及 types

yarn add koa koa-router koa-static @types/koa @types/koa-router @types/koa-static

二、修改 server.ts 文件,输入以下内容

/*
 * @Description: 后台服务入口
 * @version: 0.1.0
 */
import * as Koa from 'koa';
import * as koaStatic from 'koa-static'
import { router } from './router';    

const app = new Koa();    

/**
 * @name: 设置静态资源目录
 * @param : undefined
 * @return : undefined
 */
app.use(koaStatic('./www'));    
/**
 * @name: 使用路由
 * @param : undefined
 * @return : undefined
 */
app.use(router.routes());    
/**
 * @name: 服务端口
 * @param : undefined
 * @return : undefined
 */
const httpPort = 8080
app.listen(httpPort);    
console.log(`Http Server running on port ${httpPort}`);

三、新建路由文件夹 router 及文件 index.ts

/*
 * @Description: 后台路由组件
 * @version: 0.1.0
 */
import * as Router from 'koa-router';    

const router = new Router();

router.get('/*', async (ctx) => {
  ctx.body = 'Hell koa';
})

export { router }

四、编译、运行

打开浏览器,输入 http://localhost:8080
图片描述

若是能看到 Hello Koa,恭喜你,koa 的集成成功。一个简单的 web 服务就实现了。
后面若是有机会就讲下如何操做数据库。

目录结构以下:
图片描述

相关文章
相关标签/搜索