使用nodejs + koa + typescript 集成和自动重启的问题

 更新时间:2021年12月28日 11:01:28   作者:myEsn2E9's Notepad  
这篇文章主要介绍了nodejs + koa + typescript 集成和自动重启,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

版本说明

Node.js: 16.13.1

创建项目

创建如下目录结构

project
├── src
│   └── server.ts
├── package.json
└── tsconfig.json

package.json 可以使用 yarn init -y 生成
tsconfig.json 可以使用 tsc --init 生成(需要全局或在项目中安装 typescript 包才可以使用 tsc 命令)

安装依赖

注意:

  • @tsconfig/node16 包需要根据 Node.js 的版本变化,我电脑上安装的是 16.x.x 的版本,所以用的是 @tsconfig/node16,具体看 tsconfig/bases 中的说明,当然也可以完全不用安装这个包,这个包优点是公用性和主流推荐配置
  • typescript 如果已经全局安装过了,就从下面的命令中移除它
  • concurrently 是一个并发执行多个命令的工具包
  • nodemon 是一个监听文件变化自动重启程序的工具包
yarn add koa
yarn add typescript @tsconfig/node16 @types/node @types/koa concurrently nodemon -D

填充内容

src/server.ts

import Koa from 'koa';

const server: Koa = new Koa();
const port: number = 3000;

server.use((ctx: Koa.DefaultContext) => {
    ctx.body = 'hi koa';
});

server.listen(port, () => {
    console.log(`Node.js v${process.versions.node}`);
});

tsconfig.json

注意:extends 字段的值根据你安装的包名 @tsconfig/node** 替换

{
  "extends": "@tsconfig/node16/tsconfig.json",
  "compilerOptions": {
    "baseUrl": ".",
    "rootDir": "src",
    "outDir": "dist",
    "noImplicitAny": true,
  },
  "include": [
    "src/**/*"
  ]
}

package.json

"scripts": {
  "build-ts": "tsc",
  "build": "yarn build-ts",
  "debug": "yarn build && yarn watch-debug",
  "serve-debug": "nodemon --inspect dist/server.js",
  "serve": "node dist/server.js",
  "start": "yarn serve",
  "watch-debug": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:serve-debug\"",
  "watch-node": "nodemon dist/server.js",
  "watch-ts": "tsc -w",
  "watch": "concurrently -k -p \"[{name}]\" -n \"TypeScript,Node\" -c \"yellow.bold,cyan.bold,green.bold\" \"npm:watch-ts\" \"npm:watch-node\""
}

运行

我们的所有源码在 src 目录下,tsc 编译后的 js 文件在 dist 目录下,这是在 tsconfig.json 文件中指定的路径

本地开发:如果没有 dist 目录需要先执行 yarn build 去编译生成,然后再执行 yarn watch

部署生产:顺序执行 yarn buildyarn serveyarn start(serve 和 start 是相同的命令)

参考资料

microsoft/TypeScript-Node-Starter

到此这篇关于nodejs + koa + typescript 集成和自动重启的文章就介绍到这了,更多相关nodejs  koa  typescript内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • node.js报错:Cannot find module ''ejs''的解决办法

    node.js报错:Cannot find module ''ejs''的解决办法

    最近发现了node.js居然报错了,错误提示为:Cannot find module 'ejs',后来找了找资料发现解决的方法其实很简单,下面通过这篇文章来一起看看吧,希望对同样遇到这个问题的朋友们能有所帮助。
    2016-12-12
  • Docker平台下NodeJs Puppeteer实现html转pdf过程示例

    Docker平台下NodeJs Puppeteer实现html转pdf过程示例

    这篇文章主要为大家介绍了Docker平台下NodeJs Puppeteer实现html转pdf过程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • package.json的版本号更新优化方法

    package.json的版本号更新优化方法

    这篇文章主要为大家介绍了package.json的版本号更新优化方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • node.js中的fs.readFile方法使用说明

    node.js中的fs.readFile方法使用说明

    这篇文章主要介绍了node.js中的fs.readFile方法使用说明,本文介绍了fs.readFile的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • node实现登录图片验证码的示例代码

    node实现登录图片验证码的示例代码

    这篇文章主要介绍了node实现登录图片验证码的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 轻松创建nodejs服务器(9):实现非阻塞操作

    轻松创建nodejs服务器(9):实现非阻塞操作

    这篇文章主要介绍了轻松创建nodejs服务器(9):实现非阻塞操作,本系列文章会教你一步一步创建一个完整的服务器,要的朋友可以参考下
    2014-12-12
  • Node.js中Express框架使用axios同步请求(async+await)实现方法

    Node.js中Express框架使用axios同步请求(async+await)实现方法

    这篇文章主要介绍了Node.js中Express框架使用axios同步请求(async+await)实现方法,结合实例形式分析了express框架使用异步交互axios模块实现同步请求的相关操作技巧与注意事项,需要的朋友可以参考下
    2023-04-04
  • 基于nodejs+express(4.x+)实现文件上传功能

    基于nodejs+express(4.x+)实现文件上传功能

    通过一段时间的查阅资料发现实现上传的方式有:1.express中间件multer模块2.connect-multiparty模块(但现在 官方不推荐 )3.使用multiparty模块实现4.使用formidable插件实现,本文给大家介绍nodejs+express(4.x+)实现文件上传功能,需要的朋友参考下
    2015-11-11
  • express的中间件basicAuth详解

    express的中间件basicAuth详解

    这篇文章主要介绍了node.js中express的中间件basicAuth的使用方法,需要的朋友可以参考下
    2014-12-12
  • 手把手教你实现 Promise的使用方法

    手把手教你实现 Promise的使用方法

    这篇文章主要介绍了手把手教你实现 Promise的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09

最新评论