首页
Search
1
剑侠账本
184 阅读
2
使用vue3及Echarts插件实现Github代码热力图
103 阅读
3
2024最好用的虚拟卡 VISA
73 阅读
4
Mac 开机自动执行 Shll 脚本
67 阅读
5
Vue中的Event Bus(事件总线)
57 阅读
Vue
React
Nodejs
小程序
工具
其他
随笔
登录
Search
标签搜索
Vue
Shll
vue3
echarts
ts
typescript
eventbus
Visa
Nginx
Nodejs
Aoki
累计撰写
10
篇文章
累计收到
8
条评论
首页
栏目
Vue
React
Nodejs
小程序
工具
其他
随笔
页面
搜索到
10
篇与
的结果
2024-12-11
Nodejs定义API路由-2
定义API路由在routes目录下创建databaseRoutes.js,并配置API路由。routes/databaseRoutes.jsconst express = require('express'); const router = express.Router(); const databaseController = require('../controllers/databaseController'); // 获取所有记录 router.get('/records', databaseController.getAllRecords); // 根据ID获取记录 router.get('/records/:id', databaseController.getRecordById); // 添加新记录 router.post('/records', databaseController.createRecord); // 根据ID删除记录 router.delete('/records/:id', databaseController.deleteRecord); module.exports = router;Step 5: 配置Express应用在app.js中引入Express和路由,并启动服务器。app.jsconst express = require('express'); const app = express(); const databaseRoutes = require('./routes/databaseRoutes'); // 中间件配置 app.use(express.json()); // 解析JSON请求 // 路由配置 app.use('/api', databaseRoutes); // 启动服务器 const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`服务器正在运行,端口:${PORT}`); });Step 6: 启动服务器使用以下命令启动服务器:node app.js现在,API接口已经搭建好,可以使用Postman或前端代码进行访问。Step 7: 前端请求API前端可以通过HTTP请求来访问API接口,例如使用fetch或Axios。以下是使用Axios的示例:// 使用Axios发送GET请求,获取所有记录 axios.get('http://localhost:3000/api/records') .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); // 添加一条新记录 axios.post('http://localhost:3000/api/records', { name: '新记录', value: '数据值' }) .then(response => { console.log('记录已创建:', response.data); }) .catch(error => { console.error(error); });总结在Node.js中创建一个Express服务器,并定义数据库接口。通过mysql2连接MySQL数据库,并在控制器中实现查询、插入和删除操作。配置路由,使前端可以通过HTTP请求访问数据。
2024年12月11日
40 阅读
0 评论
0 点赞
2024-12-11
Nodejs连接数据库-1
使用Node.js连接数据库并创建一个API接口,前端可以通过HTTP请求访问后端的数据。我们可以使用Express框架来创建REST API接口,同时使用MySQL或MongoDB等数据库。以下是如何用Node.js编写一个接口并实现数据库连接和API请求的步骤。项目结构app.js: 主应用文件,配置Express和API路由routes/databaseRoutes.js: 定义API路由controllers/databaseController.js: 控制器层,包含具体的数据库操作config/db.js: 配置数据库连接步骤详解Step 1: 初始化项目并安装依赖初始化一个Node.js项目,并安装需要的依赖:mkdir node-api-demo cd node-api-demo npm init -y npm install express mysql2 dotenvexpress:用于创建REST APImysql2:MySQL数据库的Node.js驱动dotenv:用于管理环境变量Step 2: 配置数据库连接在项目根目录创建一个.env文件,用于存放数据库连接信息:.envDB_HOST=localhost DB_USER=your_username DB_PASSWORD=your_password DB_NAME=your_database然后,在config/db.js中创建数据库连接:config/db.jsrequire('dotenv').config(); const mysql = require('mysql2'); // 创建数据库连接池 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.promise();Step 3: 创建数据库控制器在controllers目录中创建databaseController.js文件,定义获取、添加、删除数据库记录的方法。controllers/databaseController.jsconst db = require('../config/db'); // 获取所有记录 exports.getAllRecords = async (req, res) => { try { const [rows] = await db.query('SELECT * FROM records'); res.json(rows); } catch (err) { res.status(500).json({ error: '数据库查询出错' }); } }; // 根据ID获取记录 exports.getRecordById = async (req, res) => { const id = req.params.id; try { const [rows] = await db.query('SELECT * FROM records WHERE id = ?', [id]); if (rows.length === 0) { return res.status(404).json({ error: '记录未找到' }); } res.json(rows[0]); } catch (err) { res.status(500).json({ error: '数据库查询出错' }); } }; // 添加新记录 exports.createRecord = async (req, res) => { const { name, value } = req.body; try { const [result] = await db.query('INSERT INTO records (name, value) VALUES (?, ?)', [name, value]); res.status(201).json({ id: result.insertId, name, value }); } catch (err) { res.status(500).json({ error: '数据库插入出错' }); } }; // 根据ID删除记录 exports.deleteRecord = async (req, res) => { const id = req.params.id; try { const [result] = await db.query('DELETE FROM records WHERE id = ?', [id]); if (result.affectedRows === 0) { return res.status(404).json({ error: '记录未找到' }); } res.json({ message: '记录已删除' }); } catch (err) { res.status(500).json({ error: '数据库删除出错' }); } };
2024年12月11日
34 阅读
0 评论
0 点赞
2024-10-16
Nginx配置后请求报404的解决思路
请求返回 404 错误,可能确实与 Host 头有关,也有可能是后端服务器本身的资源路径问题。错误示例:location /jx3/ { rewrite ^/jx3/(.*)$ /$1 break; proxy_pass https://jx3api.btcsg.top; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }1.Host 头设置问题:在你当前的配置中,proxy_set_header Host $host; 会将客户端的原始主机名(假如是jx.ieoog.com)传递给后端服务器。这可能会导致后端服务器无法正确解析请求,尤其是如果后端服务器依赖 Host 头来确定处理逻辑或域名解析时。例如,如果后端服务器 https://jx3.top 需要 Host 头为它自己的域名(即 jx3.top),那么将 Host 设置为 jx.ieoog.com 可能会导致 404 错误,因为服务器接收到的是一个它无法识别的域名。解决方法:试试将 proxy_set_header Host 改为:proxy_set_header Host jx.top;这样,后端服务器会接收到正确的 Host 头信息(即 jx.top),从而能够正确处理请求。2. 后端资源路径问题:如果 Host 头设置正确,仍然返回 404,可能是后端服务器 https://jx3api.btcsg.top 上并不存在 /user/token 这个路径。可以通过直接访问 https://jx3api.btcsg.top/user/token 来验证该路径是否存在。解决方法:检查后端服务器是否期望请求路径格式发生改变。例如,如果后端服务器需要保留 /jx3/ 前缀,可以修改重写规则或直接在 proxy_pass 中保留 /jx3/,比如:proxy_pass https://jx3.top/jx3/;这样,访问 https://jx.ieoog.com/jx3/us/tn 时会被代理为 https://jx3api.btc.top/jx3/us/tn。
2024年10月16日
47 阅读
0 评论
0 点赞
2024-07-23
剑侠账本
使用方法不再乎图标可以直接使用以下是图标的上传方法:1.打开剑网三魔盒>物品百科 https://www.jx3box.com/item/2.寻找图标3.添加4.效果
2024年07月23日
184 阅读
4 评论
1 点赞
2024-03-19
2024最好用的虚拟卡 VISA
急性子忽略以下介绍直接点击:https://dupay.one/web-app/register-h5?invitCode=V8WUQ0&lang=zh-cn运营时间比较长,是一家老平台,他的核心优势的除了可以开虚拟卡外,可以开借记卡,借记卡支持实体邮寄,同时可以转账出入金美股,风控比虚拟卡少很多,其次是费率相对同行里面较低,有APP端,产品整体体验较好。劣势可能就是和大部分虚拟卡的劣势一样,风控问题等等。支持USDT,GBP。借记卡预付卡黑金卡可免月费
2024年03月19日
73 阅读
0 评论
2 点赞
1
2