亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

從零開始學(xué)typescript構(gòu)建一個(gè)rest風(fēng)格web服務(wù)

Codeing_ls / 415人閱讀

摘要:隨著應(yīng)用的龐大,項(xiàng)目中的代碼也會(huì)越來越臃腫,團(tuán)隊(duì)之間的協(xié)作也會(huì)遇到難題,如果不一直看文檔,很難知道團(tuán)隊(duì)其他成員寫的方法需要什么參數(shù),返回結(jié)果又是什么。一個(gè)簡(jiǎn)單的服務(wù)就實(shí)現(xiàn)了。

隨著應(yīng)用的龐大,項(xiàng)目中 javascript 的代碼也會(huì)越來越臃腫,團(tuán)隊(duì)之間的協(xié)作也會(huì)遇到難題,如果不一直看 api 文檔,很難知道團(tuán)隊(duì)其他成員寫的方法需要什么參數(shù),返回結(jié)果又是什么。

解決的方案有很多,這里不比較各種方法的優(yōu)劣,僅說下選擇 typescript 的考慮:1、接受程序好,ts 文件中可以直接寫 javascript 代碼,平滑過渡;2、vs code 的提示夠好。

下面開始一步一步地搭建 web 服務(wù)( windows環(huán)境 )

一、typescript 開發(fā)環(huán)境如何配置

1、初始化項(xiàng)目

yarn init -y

2、安裝 typescript

yarn add typescript @types/node --dev

3、配置 typescript 編譯環(huán)境

在項(xiàng)目根目錄下新建文件 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" 
  ] 
}

4、測(cè)試

新文件夾 src 并添加文件 server.ts,在文件中寫下如下代碼

console.log("Hello TypeScript");

5、編譯

.
ode_modules.bin	sc

6、運(yùn)行

node ./dist/server.js

如果能看到控制臺(tái)輸出

Hello TypeScript

恭喜你,typescript 環(huán)境配置成功!

二、集成 web 開發(fā)框架 koa

1、安裝 koa 及 types

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

2、修改 server.ts 文件,輸入如下內(nèi)容

/*
 * @Description: 后臺(tái)服務(wù)入口
 * @version: 0.1.0
 */
import * as Koa from "koa";
import * as koaStatic from "koa-static"
import { router } from "./router";    

const app = new Koa();    

/**
 * @name: 設(shè)置靜態(tài)資源目錄
 * @param : undefined
 * @return : undefined
 */
app.use(koaStatic("./www"));    
/**
 * @name: 使用路由
 * @param : undefined
 * @return : undefined
 */
app.use(router.routes());    
/**
 * @name: 服務(wù)端口
 * @param : undefined
 * @return : undefined
 */
const httpPort = 8080
app.listen(httpPort);    
console.log(`Http Server running on port ${httpPort}`);

3、新建路由文件夾 router 及文件 index.ts

/*
 * @Description: 后臺(tái)路由組件
 * @version: 0.1.0
 */
import * as Router from "koa-router";    

const router = new Router();

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

export { router }

4、編譯、運(yùn)行

打開瀏覽器,輸入 http://localhost:8080

如果能看到 Hello Koa,恭喜你,koa 的集成成功。一個(gè)簡(jiǎn)單的 web 服務(wù)就實(shí)現(xiàn)了。
后面如果有機(jī)會(huì)就講下如何操作數(shù)據(jù)庫(kù)。

目錄結(jié)構(gòu)如下:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/100676.html

相關(guān)文章

  • 【趣味連載】攻城獅上傳視頻與普通人上傳視頻:(一)生成結(jié)構(gòu)化數(shù)據(jù)

    摘要:背景當(dāng)知道要上傳的視頻資料從條變成條時(shí),我就明白,絕對(duì)不能再人工處理了。 背景 當(dāng)知道要上傳的視頻資料從20條變成100條時(shí),我就明白,絕對(duì)不能再人工處理了。他們總是想當(dāng)然的認(rèn)為,錄入一條數(shù)據(jù)需要1分鐘,那錄入20條數(shù)據(jù)就是20分鐘,錄入100條數(shù)據(jù),不就是100分鐘嗎?我有時(shí)候,真的很想問問他們,沒有考慮過人是會(huì)犯錯(cuò)的嗎?數(shù)據(jù)越多,出錯(cuò)的可能就越大;但是數(shù)據(jù)本身,又是不允許出現(xiàn)紕漏的...

    mindwind 評(píng)論0 收藏0
  • 前端每周清單半年盤點(diǎn)之 JavaScript 篇

    摘要:前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn)分為新聞熱點(diǎn)開發(fā)教程工程實(shí)踐深度閱讀開源項(xiàng)目巔峰人生等欄目。背后的故事本文是對(duì)于年之間世界發(fā)生的大事件的詳細(xì)介紹,闡述了從提出到角力到流產(chǎn)的前世今生。 前端每周清單專注前端領(lǐng)域內(nèi)容,以對(duì)外文資料的搜集為主,幫助開發(fā)者了解一周前端熱點(diǎn);分為新聞熱點(diǎn)、開發(fā)教程、工程實(shí)踐、深度閱讀、開源項(xiàng)目、巔峰人生等欄目。歡迎...

    Vixb 評(píng)論0 收藏0
  • 前端每周清單第 11 期:Angular 4.1支持TypeScript 2.3,Vue 2.3優(yōu)化

    摘要:斯坦福宣布使用作為計(jì)算機(jī)課程的首選語言近日,某位有年教學(xué)經(jīng)驗(yàn)的斯坦福教授決定放棄,而使用作為計(jì)算機(jī)入門課程的教學(xué)語言。斯坦福官方站點(diǎn)將它們新的課程描述為是最流行的構(gòu)建交互式的開發(fā)語言,本課程會(huì)用講解中的實(shí)例。 前端每周清單第 11 期:Angular 4.1支持TypeScript 2.3,Vue 2.3優(yōu)化服務(wù)端渲染,優(yōu)秀React界面框架合集 為InfoQ中文站特供稿件,首發(fā)地址為...

    warkiz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<