Node.js API with PostgreSQL 项目教程
1. 项目的目录结构及介绍
node-api-postgres/
├── config/
│ └── db.js
├── controllers/
│ └── bookController.js
├── models/
│ └── book.js
├── routes/
│ └── bookRoutes.js
├── utils/
│ └── helpers.js
├── .env
├── .gitignore
├── package.json
├── server.js
└── README.md
config/
:包含数据库配置文件。controllers/
:包含处理请求的控制器文件。models/
:包含数据库模型文件。routes/
:包含路由定义文件。utils/
:包含辅助函数文件。.env
:环境变量配置文件。.gitignore
:Git忽略文件配置。package.json
:项目依赖和脚本配置。server.js
:项目启动文件。README.md
:项目说明文档。
2. 项目的启动文件介绍
server.js
是项目的启动文件,主要负责启动服务器和连接数据库。以下是 server.js
的主要内容:
require('dotenv').config();
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const bookRoutes = require('./routes/bookRoutes');
const db = require('./config/db');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use('/api/books', bookRoutes);
const PORT = process.env.PORT || 3000;
db.connect()
.then(() => {
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
})
.catch((err) => {
console.error('Unable to connect to the database:', err);
});
require('dotenv').config();
:加载环境变量。express
:引入 Express 框架。bodyParser
:引入 body-parser 中间件。app.use(bodyParser.json());
:使用 JSON 解析中间件。app.use(bodyParser.urlencoded({ extended: true }));
:使用 URL 编码解析中间件。app.use('/api/books', bookRoutes);
:挂载路由。db.connect()
:连接数据库。app.listen(PORT, () => { ... });
:启动服务器。
3. 项目的配置文件介绍
config/db.js
是数据库配置文件,主要负责数据库的连接。以下是 db.js
的主要内容:
const { Pool } = require('pg');
const pool = new Pool({
user: process.env.DB_USER,
host: process.env.DB_HOST,
database: process.env.DB_NAME,
password: process.env.DB_PASSWORD,
port: process.env.DB_PORT,
});
module.exports = {
async connect() {
try {
await pool.connect();
console.log('Connected to the database');
} catch (err) {
console.error('Database connection failed', err.stack);
}
},
query(text, params) {
return pool.query(text, params);
},
};
const { Pool } = require('pg');
:引入 PostgreSQL 连接池。new Pool({ ... });
:创建数据库连接池,使用环境变量配置连接参数。module.exports = { ... };
:导出连接和查询方法。async connect() { ... }
:连接数据库。query(text, params) { ... }
:执行 SQL 查询。
以上是 Node.js API with PostgreSQL 项目的目录结构、启动文件和配置文件的详细介绍。希望这份教程能帮助你更好地理解和使用该项目。