开源项目 pin-cushion
使用教程
1. 项目的目录结构及介绍
pin-cushion/
├── README.md
├── package.json
├── src/
│ ├── index.js
│ ├── config/
│ │ ├── default.json
│ │ ├── production.json
│ ├── utils/
│ │ ├── logger.js
│ │ ├── helper.js
│ ├── routes/
│ │ ├── api.js
│ ├── models/
│ │ ├── user.js
│ ├── controllers/
│ │ ├── userController.js
- README.md: 项目说明文件。
- package.json: 项目依赖和脚本配置文件。
- src/: 源代码目录。
- index.js: 项目入口文件。
- config/: 配置文件目录。
- default.json: 默认配置文件。
- production.json: 生产环境配置文件。
- utils/: 工具函数目录。
- logger.js: 日志工具。
- helper.js: 辅助函数。
- routes/: 路由配置目录。
- api.js: API 路由配置。
- models/: 数据模型目录。
- user.js: 用户模型。
- controllers/: 控制器目录。
- userController.js: 用户控制器。
2. 项目的启动文件介绍
项目的启动文件是 src/index.js
。该文件主要负责以下任务:
- 加载配置文件。
- 初始化数据库连接。
- 配置中间件。
- 加载路由。
- 启动服务器。
const express = require('express');
const config = require('config');
const mongoose = require('mongoose');
const logger = require('./utils/logger');
const apiRoutes = require('./routes/api');
const app = express();
const port = config.get('port') || 3000;
// 加载配置
mongoose.connect(config.get('mongoURI'), { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => logger.info('MongoDB connected'))
.catch(err => logger.error(err));
// 配置中间件
app.use(express.json());
// 加载路由
app.use('/api', apiRoutes);
// 启动服务器
app.listen(port, () => {
logger.info(`Server is running on port ${port}`);
});
3. 项目的配置文件介绍
项目的配置文件位于 src/config/
目录下,主要包括 default.json
和 production.json
。
default.json
{
"port": 3000,
"mongoURI": "mongodb://localhost:27017/pin-cushion",
"jwtSecret": "your_jwt_secret"
}
production.json
{
"port": 8080,
"mongoURI": "mongodb://production_uri:27017/pin-cushion",
"jwtSecret": "your_production_jwt_secret"
}
- port: 服务器监听端口。
- mongoURI: MongoDB 连接字符串。
- jwtSecret: JWT 密钥。
这些配置文件通过 config
模块加载,可以根据环境变量选择不同的配置文件。