赞
踩
这篇文章可能和一般的使用express不到10行代码构建一个服务器不太一样,因为我之前有使用过springboot进行后端框架的搭建,所以感觉这种方法虽然简单,但是可能就缺乏
扩展性
和规范性
当前我正在开发一个自己使用的小型项目,由于是小型项目而且仅自己使用,所以感觉就没必要直接上SpringBoot作为后端框架,而且我希望能接触到更多的东西,于是选择使用NodeJS
作为后端服务器。
首先要保证你的电脑中有Node和MySQL,如果没有的话,可以参考以下教程
在你需要放NodeJS后端的位置打开cmd
创建项目目录
mkdir 你的文件名
进入目录
cd 你的文件名
初始化项目
npm init
没有什么特殊要求直接默认Enter
即可
通过vscode打开刚才创建的文件夹,安装以下模块
express
:一个流行的 Web 框架,用于搭建 Web 服务器和处理 HTTP 请求。mysql2
:一个 MySQL 的 Node.js 驱动程序,用于连接和操作 MySQL 数据库。dotenv
:一个用于从 .env
文件中加载环境变量的模块,可以帮助你安全地管理敏感信息,例如数据库密码。你可以使用以下命令安装这些模块:
npm install express mysql2 dotenv forwarded
这里安装的时候可能会被系统代理(魔法)影响,所以请先关闭魔法之后再进行安装
等待安装成功
在根目录 下创建一个
index.js
文件
使用 express
模块创建一个 HTTP 服务器非常简单,你只需要编写以下代码:
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
启动服务器
node index.js
这个代码会创建一个 HTTP 服务器,监听在 localhost:3000
上。当你在浏览器中访问 http://localhost:3000
时,你将看到一个显示“Hello, world!”的页面。
创建一个数据库
首先需要创建一个后续需要使用的数据库,可以通过workbench或sqlserver等工具
create database 数据库名
创建.env
文件配置mysql
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=你的密码
DB_NAME=数据库的名称
创建目录service
和index.js
编辑index.js
使用 mysql2
模块连接到 MySQL 数据库也很简单。你只需要编写以下代码:
const mysql = require('mysql2/promise');
require('dotenv').config();
const pool = mysql.createPool({
host: process.env.DB_HOST,
user: process.env.DB_USER,
password: process.env.DB_PASSWORD,
database: process.env.DB_NAME
});
module.exports = pool;
这里的路由不是我们前端页面的路由,而是一个路由对应一个请求地址
创建目录
创建一张数据表格
创建一张表格,测试是否连接上数据库
const pool = require("../../service/index") async function createTimeTable(req, res) { try { await pool.query(` CREATE TABLE IF NOT EXISTS time_record ( id INT AUTO_INCREMENT PRIMARY KEY, time date NOT NULL, name VARCHAR(255) NOT NULL, tag VARCHAR(255) NOT NULL, duration smallint NOT NULL ) `); res.status(200).send('Time table created successfully!'); } catch (error) { console.error('Error creating time table:', error); res.status(500).send('Failed to create time table'); } } module.exports = { createTimeTable, }
创建一个router对应
const express = require('express');
const router = express.Router();
const timeController = require('./time');
router.get('/create', timeController.createTimeTable)
module.exports = router
修改index.js
const express = require('express');
const app = express();
const routes = require('./controller/router');
require('dotenv').config();
app.use(express.json());
app.use(routes);
const port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
访问地址localhost:3000/create
这里的create是对应之前设置的 route 的
创建成功
我们去workbench中去看看
是存在的!证明整体的是没问题的
当前只是简单的搭好了整体的框架,后续将需要我们进行各个模块的填充和业务逻辑的实现
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。