博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Typescript开发nodejs项目+调试
阅读量:6947 次
发布时间:2019-06-27

本文共 1728 字,大约阅读时间需要 5 分钟。

目的

用typescript开发node server程序,并做到hot-reload和ts文件上的debug

技术栈

问题1:什么是routing-controller

先感受一下routing-controller

import {JsonController, Get, Post, Param, Delete, Body} from "routing-controllers";import {Service} from "typedi";import {CategoryRepository} from "../repository/CategoryRepository";import {Category} from "../model/Category";@Service()@JsonController()export class CategoryController {    constructor(private categoryRepository: CategoryRepository) {    }    @Get("/categories")    all(): Promise
{ return this.categoryRepository.findAll(); } @Get("/categories/:id") one(@Param("id") id: number): Category { return this.categoryRepository.findOne(id); }}

一股满满的SpringMVC既视感,对于开发过JavaWeb的我来说上手很快,

问题2:如何调试

调试的初级方法是print、console,进阶就是下断点debug,我们是不是能把断点下在ts文件里而不是编译后的js里呢?当然可以。

配置launch.json:菜单->调试->添加配置

{    "version": "0.2.0",    "configurations": [        {            "name": "Launch server.js via nodemon",            "type": "node",            "request": "launch",            "runtimeExecutable": "nodemon",            "program": "${workspaceRoot}/dist/app",             "restart": true,            "console": "integratedTerminal",            "internalConsoleOptions": "neverOpen"        }    ]}

配置完之后即可通过菜单->调试->启动调试或者快捷键来启动调试

问题三 hot-reload

nodemon的作用是一检测到文件修改就重启node server,不用再先终止进程再启动了。现在我们还差一步就是.ts文件一修改就重新编译

tsc -w //很简单

总结

每次开始编写程序前先执行tsc -w 然后F5开始调试,每次一修改ts文件就会重新编译和发布,在ts文件中也可以任意下断点

相关操作

> git clone https://github.com/pleerock/routing-controllers-koa-demo.git    > cd routing-controllers-koa-demo    > yarn install / npm install     vscode>调试>添加配置    > tsc -w    F5     (设置断点)    浏览器打开 http://localhost:3000/categories

转载于:https://www.cnblogs.com/cack/p/7223844.html

你可能感兴趣的文章
web项目部署到阿里云服务器步骤
查看>>
ABP理论学习之依赖注入
查看>>
php读取文件的各种方法
查看>>
re模块 正则表达式
查看>>
06-标准文档流,块级元素和行内元素,浮动,margin的用法
查看>>
tomcat的默认路径ROOT怎么改变,我想设置tomcat的默认路径,怎么设置?
查看>>
sqlite使用手册(转)
查看>>
学习:深度和广度之谈
查看>>
leetcode495
查看>>
用分解的方式学算法002——插入排序
查看>>
剑指Offer 16 数值的整数次方
查看>>
Intent 调用系统中经常用到的组件
查看>>
011PHP基础知识——运算符(四)
查看>>
SpringBoot集成WebSocket【基于STOMP协议】进行点对点[一对一]和广播[一对多]实时推送...
查看>>
20060308: WOW角色不见了
查看>>
iOS 横屏模态进入下一级界面, 竖屏退出
查看>>
乱搞-模拟退火
查看>>
AC日记——滑动窗口 洛谷 P1886
查看>>
Android监听手机网络变化
查看>>
ES6基础-解构赋值
查看>>