首先,创建一个新的项目目录,并初始化 npm 项目:
mkdir my-nodejs-backend
cd my-nodejs-backend
npm init -y
我们需要安装一些基本的依赖,包括 express(一个常用的 Node.js 框架)、typescript、ts-node(用于直接运行 TypeScript 文件)、@types/express(Express 的类型定义)以及 @types/node(Node.js 的类型定义):
npm install express typescript ts-node @types/express @types/node --save
此外,为了更方便地管理开发依赖,我们可以安装 nodemon 和 tsconfig-paths:
npm install nodemon tsconfig-paths --save-dev
在项目根目录下创建一个 tsconfig.json 文件,配置 TypeScript:
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true,
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"baseUrl": "./",
"paths": {
"*": ["src/*"]
}
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}
src/app.ts
这个文件将包含 Express 应用的配置:
import express from 'express';
const app = express();
const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.send('Hello, World!');
});
export default app;
src/index.ts
这个文件是应用的入口点:
import app from './app';
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
在项目根目录下创建一个 nodemon.json 文件,配置 nodemon:
{
"watch": ["src"],
"ext": "ts",
"exec": "ts-node ./src/index.ts"
}
在 package.json 中添加一些方便的开发脚本:
"scripts": {
"start": "nodemon",
"build": "tsc",
"serve": "node dist/index.js"
}