引入必要的模块
const express = require('express'); const bodyParser = require('body-parser'); const mongoose = require('mongoose'); const path = require('path'); const config = require('./config/config'); const app = express();
express: Express 是 Node.js 的一个流行框架,用于构建 Web 应用和 API。
bodyParser: 用于解析请求体,使 JSON、URL 编码的数据等可以被访问。
mongoose: MongoDB 的对象数据建模工具,用于与 MongoDB 交互。
path: Node.js 内置模块,用于处理和转换文件路径。
config: 自定义配置文件,可能包含数据库连接字符串和其他配置项。
中间件配置
// Body parser middleware app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); // Static files (for serving static content like images, CSS, JavaScript) app.use(express.static(path.join(__dirname, 'public')));
body-parser: 设置两个中间件来解析 JSON 和 URL 编码的请求体。
express.static: 提供静态文件服务,例如图片、CSS 和 JavaScript 文件,这里指定了public
文件夹作为静态资源的根目录。
数据库连接
// Connect to MongoDB mongoose.connect(config.databaseUrl, { useNewUrlParser: true, useUnifiedTopology: true }) .then(() => console.log('MongoDB connected...')) .catch(err => console.log(err));
使用 Mongoose 连接到 MongoDB 数据库,连接字符串从config
文件中读取。
如果连接成功,会在控制台打印 "MongoDB connected...",如果失败,会打印错误信息。
路由配置
// Import routes const indexRoutes = require('./routes/index'); const userRoutes = require('./routes/users'); const productRoutes = require('./routes/products'); // Use routes app.use('/', indexRoutes); app.use('/users', userRoutes); app.use('/products', productRoutes);
导入不同模块的路由文件,这些文件定义了应用程序的不同部分的路由。
使用app.use()
方法将不同的路由挂载到应用程序上,所有以 "/" 开头的请求将由indexRoutes
处理,所有以 "/users" 开头的请求将由userRoutes
处理,依此类推。
错误处理
// Error handling middleware app.use((err, req, res, next) => { console.error(err.stack); res.status(500).send('Something broke!'); });
这是一个错误处理中间件,它会捕获所有未被前面的中间件处理的错误。
如果发生错误,它会在控制台上打印错误的堆栈跟踪,并返回一个 500 状态码以及一条简单的错误消息。
启动服务器
// Start the server
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(Server is running on port ${port}
);
});
获取环境变量中的端口号,如果没有设置,则默认使用 3000。
调用app.listen()
方法启动服务器,并在控制台打印服务器正在运行的消息。
这个app.js
文件是一个典型的 Node.js + Express 应用程序的入口文件,它包括以下主要部分:
1、引入模块: 包括 Express、body-parser、mongoose、path 和自定义的配置文件。
2、中间件配置: 设置解析请求体的中间件和静态文件服务的中间件。
3、数据库连接: 使用 Mongoose 连接到 MongoDB 数据库。
4、路由配置: 导入和挂载各个路由模块。
5、错误处理: 捕获和处理所有未被前面中间件处理的错误。
6、启动服务器: 启动 HTTP 服务器并监听指定的端口。
通过这种结构,app.js
文件清晰地组织了应用程序的核心逻辑,使其易于维护和扩展。
以上内容就是解答有关“app.js详解”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/720263.html