Enigma 项目教程
1. 项目的目录结构及介绍
Enigma/
├── README.md
├── package.json
├── src/
│ ├── index.js
│ ├── config/
│ │ ├── default.json
│ │ ├── production.json
│ ├── routes/
│ │ ├── api.js
│ ├── models/
│ │ ├── User.js
│ ├── controllers/
│ │ ├── userController.js
│ ├── utils/
│ │ ├── helper.js
├── public/
│ ├── index.html
│ ├── css/
│ │ ├── style.css
│ ├── js/
│ │ ├── main.js
├── tests/
│ ├── user.test.js
目录结构介绍
- README.md: 项目说明文件,包含项目的基本信息和使用说明。
- package.json: 项目的依赖管理文件,包含项目的依赖包和脚本命令。
- src/: 项目的源代码目录。
- index.js: 项目的入口文件。
- config/: 配置文件目录,包含不同环境的配置文件。
- default.json: 默认配置文件。
- production.json: 生产环境配置文件。
- routes/: 路由文件目录,包含API路由定义。
- api.js: API路由文件。
- models/: 数据模型目录,包含数据库模型的定义。
- User.js: 用户模型文件。
- controllers/: 控制器目录,包含业务逻辑的处理。
- userController.js: 用户控制器文件。
- utils/: 工具函数目录,包含项目中使用的工具函数。
- helper.js: 辅助函数文件。
- public/: 静态文件目录,包含前端资源文件。
- index.html: 前端入口HTML文件。
- css/: CSS样式文件目录。
- style.css: 主样式文件。
- js/: JavaScript脚本文件目录。
- main.js: 主脚本文件。
- tests/: 测试文件目录,包含项目的单元测试文件。
- user.test.js: 用户相关测试文件。
2. 项目的启动文件介绍
src/index.js
const express = require('express');
const app = express();
const config = require('./config');
const routes = require('./routes/api');
app.use(express.json());
app.use('/api', routes);
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`Server is running on port ${PORT}`);
});
启动文件介绍
- express: 引入Express框架,用于创建Web服务器。
- app: 创建Express应用实例。
- config: 引入配置文件,用于加载不同环境的配置。
- routes: 引入路由文件,定义API路由。
- app.use(express.json()): 使用中间件解析JSON请求体。
- app.use('/api', routes): 将路由挂载到
/api
路径下。 - app.listen(PORT, ...): 启动服务器,监听指定端口。
3. 项目的配置文件介绍
src/config/default.json
{
"port": 3000,
"database": {
"host": "localhost",
"port": 27017,
"name": "enigma_db"
}
}
src/config/production.json
{
"port": 8080,
"database": {
"host": "production_db_host",
"port": 27017,
"name": "enigma_production_db"
}
}
配置文件介绍
-
default.json: 默认配置文件,包含开发环境的配置。
- port: 服务器监听的端口。
- database: 数据库配置。
- host: 数据库主机地址。
- port: 数据库端口。
- name: 数据库名称。
-
production.json: 生产环境配置文件,包含生产环境的配置。
- port: 生产环境服务器监听的端口。
- database: 生产环境数据库配置。
- host: 生产环境数据库主机地址。
- port: 生产环境数据库端口。
- name: 生产环境数据库名称。
通过以上配置文件,可以根据不同的环境加载相应的配置,确保项目在不同环境下的正常运行。