如何在Node.js和Express中设置TypeScript(2023年)

如何在Node.js和Express中设置TypeScript(2023年)

在这篇文章中,我们将介绍在Express应用程序中设置TypeScript的最佳方法,了解与之相关的基本限制。

创建初始文件夹和package.json

mkdir node-express-typescript
cd node-express-typescript
npm init --yes

在初始化package.json文件之后,新创建的文件可能会像下面的代码一样:

{
  "name": "Your File Name",
  "version": "1.0.0",
  "description": "",
  "main": "index.ts", // 将入口点从js更改为.ts
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "type": "module",
  "keywords": [],
  "author": "",
  "license": "ISC"
}

安装TypeScript和其他依赖项

npm install express mongoose cors mongodb dotenv
npm install  -D typescript ts-node-dev @types/express @types/cors

生成tsconfig.json文件

npx tsc --init

上述命令将生成一个名为tsconfig.json的新文件,其中包含以下默认的编译器选项:

target: es2016
module: commonjs
strict: true
esModuleInterop: true
skipLibCheck: true
forceConsistentCasingInFileNames: true
  • 在打开tsconfig.json文件后,您会看到许多其他被注释掉的编译器选项。在tsconfig.json中,compilerOptions是一个必填字段,需要指定。

    • 将rootDir和outDir设置为src和dist文件夹
{
  "compilerOptions": {
    "outDir": "./dist"

    // other options remain same
  }
}

使用.ts扩展名创建一个Express服务器

创建一个名为index.ts的文件并打开它

import express, { Express, Request, Response , Application } from 'express';
import dotenv from 'dotenv';

//For env File 
dotenv.config();

const app: Application = express();
const port = process.env.PORT || 8000;

app.get('/', (req: Request, res: Response) => {
  res.send('Welcome to Express & TypeScript Server');
});

app.listen(port, () => {
  console.log(`Server is Fire at http://localhost:${port}`);
});

监听文件更改并构建目录

npm install  nodemon

安装这些开发依赖项后,更新package.json文件中的脚本:

{

  "scripts": {
    "build": "npx tsc",
    "start": "node dist/index.js",
    "dev": "nodemon index.ts"
  }
}

运行代码

npm run dev 

如果一切正常,您将在控制台中看到以下消息:
Server is Fire at http://localhost:8000

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是使用 TypeScript 和 Socket.IO 在 Express.js 创建 WebSocket 服务器的示例代码: 首先,确保你已经安装了 TypeScriptExpress.js 和 Socket.IO: ``` npm install typescript express socket.io ``` 在项目根目录下创建一个 `tsconfig.json` 文件,用于配置 TypeScript 编译器: ```json { "compilerOptions": { "target": "es6", "module": "commonjs", "outDir": "./dist", "esModuleInterop": true }, "include": ["./src"] } ``` 接着,在项目根目录下创建一个 `src` 目录,并在其创建一个 `index.ts` 文件,用于启动 Express.js 应用程序和 WebSocket 服务器: ```typescript import * as express from "express"; import * as http from "http"; import * as socketio from "socket.io"; const app = express(); const server = http.createServer(app); const io = socketio(server); io.on("connection", (socket) => { console.log("A user connected"); socket.on("disconnect", () => { console.log("User disconnected"); }); }); server.listen(3000, () => { console.log("App listening on port 3000"); }); ``` 在上面的代码,我们创建了一个 Express.js 应用程序、一个 HTTP 服务器和一个 Socket.IO 服务器。然后,我们在 `io.on("connection")` 回调函数处理 WebSocket 连接和断开连接事件。 最后,修改 `package.json` 文件的 `"start"` 命令,让 TypeScript 编译器编译 TypeScript 代码,并启动 Express.js 应用程序和 WebSocket 服务器: ```json { "name": "typescript-socketio-example", "version": "1.0.0", "scripts": { "start": "tsc && node ./dist/index.js" }, "dependencies": { "express": "^4.17.1", "socket.io": "^4.0.1" }, "devDependencies": { "typescript": "^4.3.4" } } ``` 现在,运行 `npm start` 命令,你应该能够在浏览器打开 `http://localhost:3000`,并在控制台看到 WebSocket 连接和断开连接事件的日志输出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

usp1994

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值