Node JS 基础知识:Node.js项目结构
在Node.js中,一个基础的项目结构可以包含以下文件和目录:
project-name/
│
├── package.json
├── server.js
├── app/
│ ├── routes/
│ │ └── index.js
│ └── controllers/
│ └── baseController.js
└── lib/
└── database.js
以下是各个文件和目录的简要说明:
package.json
:包含项目的依赖关系和配置信息,使用npm init
生成。server.js
:启动Node.js服务器的主文件,通常包含服务器配置和启动代码。app/routes/
:存放路由文件,每个路由对应一个网址。app/controllers/
:存放控制器文件,处理HTTP请求。lib/
:存放自定义模块和库文件,如数据库连接。
server.js
示例代码:
const express = require('express');
const app = express();
const port = 3000;
// 引入路由
const indexRouter = require('./app/routes/index');
// 使用中间件
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
// 路由使用
app.use('/', indexRouter);
// 启动服务器
app.listen(port, () => {
console.log(`Server running on port ${port}`);
});
app/routes/index.js
示例代码:
const express = require('express');
const router = express.Router();
// 控制器
const baseController = require('../controllers/baseController');
// 路由处理
router.get('/', baseController.homePage);
module.exports = router;
app/controllers/baseController.js
示例代码:
exports.homePage = (req, res) => {
res.send('Welcome to the home page!');
};
lib/database.js
示例代码:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydatabase', {
useNewUrlParser: true,
useUnifiedTopology: true,
})
.then(() => console.log('Database connected'))
.catch(err => console.log(err));
// 其他数据库操作
这个结构是基础的,根据项目的复杂性,可以增加更多的目录和文件来划分功能模块,例如视图(views)、公共资源(public)、中间件(middleware)等。
评论已关闭