首页 > 其他分享 >express项目搭建

express项目搭建

时间:2025-01-06 15:44:48浏览次数:1  
标签:use const 项目 app express PORT require 搭建

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

标签:use,const,项目,app,express,PORT,require,搭建
From: https://www.cnblogs.com/sisxxw/p/18609328

相关文章

  • 嵌入式linux环境搭建2-CentOS7
    参考链接https://draapho.github.io/2017/02/19/1706-linux-centos7/原文环境及结论大环境的搭建思路可参考嵌入式linux环境搭建-主机端gatewayip10.0.0.138PCwindows:win1064bit,ip10.0.0.98PClinux(最终版本):ubuntuserver16.0432bit,ip10.0.0.100Embedd......
  • 某纪检工作委员会视频监控网络综合运维项目
        随着某纪检工作委员会信息化建设的不断深入,网络基础设施的数量持续增加,对网络设备的运维管理提出了更为复杂和艰巨的要求。为了确保这些关键信息基础设施能够安全稳定地运行,该纪检工作委员会决定引入智能化运维管理系统,以科技赋能纪检监察工作。项目现状设备类型:交......
  • 责任分配矩阵与项目管理工具结合:实现项目成功的最佳实践
    引言在项目管理中,明确团队成员的责任和任务是确保项目成功的关键。责任分配矩阵(ResponsibilityAssignmentMatrix,RAM)是一种常用的工具,用于清晰地定义每个任务的责任人。本文将详细介绍责任分配矩阵的概念、类型、在项目管理中的作用,并对比几款国内外相关的项目管理软件,帮助......
  • 【S32DS项目实战系列】项目工程外设 之 C40_IP组件
    前言:前面新建了一个工程但是没有任何驱动配置,接下来就教大家配置一下外设驱动的C40_IP1,文件自定义管理在S32DSIDE安装的目录下面的找到一下头文件,并复制到自建的文件夹里面用于自己建立的RTD库当中,当然这个是为了方面进行文件管理2,C40_IP组件简单介绍一下C40_IP组件......
  • 电脑搭建云手机系统教程,电脑搭建云手机系统详细教程
     私有云的方便和安全性是很多用户喜爱它的要点,那要怎么用电脑搭建云手机系统呢?用手机搭建私有云可以通过安装相应的软件并进行配置来实现。以下是使用手机搭建私有云的基本步骤:选择并安装云盘软件:可以在手机的应用商店(如GooglePlay)中搜索并下载适合的私有云盘软件......
  • IT项目管理的未来:数字化与敏捷方法的结合
    数字化浪潮席卷而来,为项目管理带来了前所未有的工具和技术;与此同时,敏捷方法以其灵活性和高效性,成为众多IT项目团队追捧的对象。当数字化与敏捷方法相互融合,它们所爆发出的能量,正重塑着IT项目管理的未来格局。你是否好奇,这两者的结合将如何改变我们的项目管理方式?又将为IT......
  • 数据安全性超强的10个项目管理工具
    在当今数字化时代,数据安全性已成为项目管理工具选择中的关键因素。无论是企业内部项目还是跨团队协作,确保敏感信息的安全性至关重要。本文将介绍10个数据安全性最强的项目管理工具,帮助您在选择工具时做出明智的决策。禅道项目管理软件禅道项目管理软件是一款专为中国市场设计的......
  • 春节期间企业项目如何高效运作?试试这四个方法
    春节临近,作为一年中最重要的传统节日,几乎所有企业都面临着员工放假、年终任务冲刺和假期管理等多个压力点。对于项目经理和团队来说,春节期间的项目管理往往充满挑战:任务繁重、沟通困难、进度滞后等问题使得整个团队的效率大打折扣。那么,如何在这个特殊时期保持高效的项目管理,确保......
  • 制造业项目管理:如何实现从设计到交付的完美流程?
    在当今竞争激烈的制造业市场中,能否实现从设计到交付的完美流程,往往决定着企业的成败。一个流畅且高效的项目管理流程,不仅能确保产品按时交付,还能提升产品质量,降低成本,增强企业的市场竞争力。那么,究竟如何才能打造这样一个完美流程呢?接下来,让我们深入探讨。一、精准的需求分......
  • IT软件研发行业备受欢迎的10个项目管理工具
    在当今快速发展的IT行业中,项目管理软件已经成为团队协作和项目成功的关键工具。无论是初创公司还是大型企业,选择合适的项目管理软件都能显著提升工作效率、优化资源分配并确保项目按时交付。本文将介绍10款在IT行业中备受推崇的项目管理软件,帮助您找到最适合自己团队需求的解决方......