使用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也支持从url加载一个module详解

    如何使node也支持从url加载一个module详解

    这篇文章主要给大家介绍了关于如何使node也支持从url加载一个module的相关资料,文中通过示例代码将实现的方法介绍非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
    2018-06-06
  • NodeJS创建基础应用并应用模板引擎

    NodeJS创建基础应用并应用模板引擎

    这篇文章主要介绍了NodeJS创建基础应用并应用模板引擎的相关资料,需要的朋友可以参考下
    2016-04-04
  • Node 升级到最新稳定版的方法分享

    Node 升级到最新稳定版的方法分享

    今天小编就为大家分享一篇Node 升级到最新稳定版的方法分享,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 详解Nodejs get获取远程服务器接口数据

    详解Nodejs get获取远程服务器接口数据

    这篇文章主要介绍了Nodejs get获取远程服务器接口数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Mac 安装 nodejs方法(图文详细步骤)

    Mac 安装 nodejs方法(图文详细步骤)

    这篇文章主要介绍了Mac 安装 nodejs方法(图文详细步骤),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 利用Node.js批量抓取高清妹子图片实例教程

    利用Node.js批量抓取高清妹子图片实例教程

    这篇文章主要给大家介绍了关于利用Node.js批量抓取高清妹子图片的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们可以直接将代码复制进行使用,下面随着小编来一起学习学习吧
    2018-08-08
  • Node.js多文件Stream合并,串行和并发两种模式的实现方式

    Node.js多文件Stream合并,串行和并发两种模式的实现方式

    这篇文章主要介绍了Node.js多文件Stream合并,串行和并发两种模式的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-10-10
  • 教你用NodeJs构建属于自己的前端脚手工具

    教你用NodeJs构建属于自己的前端脚手工具

    对于脚手架我们可能天天都在接触,像npm包管理工具,vue-cli,webpack…,但是这些脚手架是怎么做出来的,我们自己能不能做一个出来玩玩,下面这篇文章主要给大家介绍了关于如何利用NodeJs构建属于自己的前端脚手工具的相关资料,需要的朋友可以参考下
    2022-05-05
  • 一行命令搞定node.js 版本升级

    一行命令搞定node.js 版本升级

    今天,又发现一个超级简单的升级node.js的方法。一行命令搞定,省去了重新编译安装的过程。
    2014-07-07
  • 浅谈如何通过node.js对数据进行MD5加密

    浅谈如何通过node.js对数据进行MD5加密

    本篇文章将主要针对于在NODE.JS中如何对数据进行MD5加密,MD5是一种常用的哈希算法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-05-05

最新评论