1.使用 npm 安装 Express 框架
npm install express --save
2.创建基本的服务器文件
在项目根目录下创建一个名为 app.js 的文件,并添加以下代码以创建基本的 Express 服务器
点击查看代码
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
3.在终端中运行以下命令以启动服务器
node app.js
运行该命令后就可以在http://localhost:3000看到express项目的返回结果
4.在项目中添加路由
创建路由文件,在项目根目录下创建一个名为 routes 的文件夹,在 routes 文件夹中创建一个名为 index.js 的文件,并添加以下代码以处理根路径的请求
点击查看代码
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.send('Hello, World!');
});
module.exports = router;
在 app.js 文件中引入并使用该路由
点击查看代码
const express = require('express');
const app = express();
const indexRouter = require('./routes/index');
const PORT = process.env.PORT || 3000;
app.use('/', indexRouter);
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
创建控制器文件,控制器文件用于处理具体的业务逻辑。可以在 routes 文件夹中创建控制器文件,并在路由文件中引入和使用。例如,在 routes 文件夹中创建一个名为 user.js 的文件,并添加以下代码以处理用户相关的请求
点击查看代码
const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
res.send('List of users');
});
router.get('/users/:id', (req, res) => {
res.send(`User with ID: ${req.params.id}`);
});
module.exports = router;
在 app.js 文件中引入并使用该路由
点击查看代码
const express = require('express');
const app = express();
const indexRouter = require('./routes/index');
const userRouter = require('./routes/user');
const PORT = process.env.PORT || 3000;
const morgan = require('morgan');
const cors = require('cors');
app.use(morgan('dev'));
app.use(cors());
app.use(express.json());
app.use('/', indexRouter);
app.use('/users', userRouter);
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
5.配置中间件
中间件是 Express 应用中用于处理请求和响应的函数。可以在 app.js 文件中配置一些常用的中间件,例如解析 JSON 数据、日志记录、跨域处理等
点击查看代码
const express = require('express');
const app = express();
const indexRouter = require('./routes/index');
const PORT = process.env.PORT || 3000;
const morgan = require('morgan'); // 日志中间件
const cors = require('cors'); // 跨域中间件
app.use(morgan('dev')); // 使用 'dev' 模式记录请求日志
app.use(cors()); // 允许跨域请求
app.use(express.json()); // 解析 JSON 数据
app.use('/', indexRouter);
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
6.配置静态文件服务
项目中一般含有静态文件,可以使用 Express 的 express.static 中间件来提供静态文件服务
点击查看代码
const express = require('express');
const app = express();
const indexRouter = require('./routes/index');
const userRouter = require('./routes/user');
const PORT = process.env.PORT || 3000;
const morgan = require('morgan');
const cors = require('cors');
app.use(morgan('dev'));
app.use(cors());
app.use(express.json());
app.use('/', indexRouter);
app.use('/users', userRouter);
app.use(express.static('public')); // 提供 public 目录下的静态文件服务
app.listen(PORT, () => {
console.log(`Server is running on http://localhost:${PORT}`);
});
将静态文件放在项目根目录下的 public 文件夹中,访问 http://localhost:3000/文件名 即可访问这些静态文件
7.连接mysql数据库
在项目根目录下创建config文件夹,并在文件夹中创建database.js文件用于配置数据库连接
点击查看代码
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost', //数据库ip
user: 'yourusername', //用户名
password: 'yourpassword', //密码
database: 'mydb', //数据库名
port:3306 //端口号
});
connection.connect(error => {
if (error) throw error;
console.log('Successfully connected to the database.');
});
module.exports = connection;
创建名为models的文件夹用于进行数据库操作,列入在models文件夹中创建一个User.js的文件表示对项目的用户进行数据库操作
点击查看代码
const connection = require('./config/database');
class User {
// 查询用户
static getUsers(callback) {
connection.query('SELECT * FROM users', (error, results) => {
if (error) throw error;
callback(null, results);
});
}
// 其他数据库操作...
}
module.exports = User;
在 users.js 路由文件中,你会处理用户的 HTTP 请求:
点击查看代码
const express = require('express');
const router = express.Router();
const User = require('../models/User');
// 获取所有用户
router.get('/', (req, res) => {
User.getUsers((err, results) => {
if (err) throw err;
res.render('users', { users: results });
});
});
// 其他路由...
module.exports = router;
以上就是基本的项目搭建,如果想要快速搭建项目,Express 提供了一个脚手架工具 Express Generator,我们可以使用这个脚手架来实现项目的快速搭建。
1.安装Express Generator
npm install express-generator -g
2.创建项目
express my-express-project --view=ejs
这将创建一个名为 my-express-project 的新项目,并默认使用 EJS 模板引擎
3.安装依赖并启动项目
npm install
npm start