【前端福利】node.js + express + mongodb 实现后端接口 时光大魔王
前端首先,敬请指正,node.js + express + mongodb 实现后端接口,通俗易懂,没有难度
包含:前言、安装 node.js环境、安装 express、依赖安装、配置数据库、编写接口、服务器配置
原文地址:https://timebk.cn/index.php/2022/08/25/84.html
原创文章,请勿抄袭!思维有限,敬请指正!
一个合格的前端程序员,要立志抢UI和后端的饭碗![滑稽]
安装 node.js环境
引言官网:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境。
下载链接:https://nodejs.org/zh-cn/download/
备注:根据系统环境选择下载包,版本推荐长期支持版。
安装教程:一直 下一步next 即可。
安装 express
官网:https://expressjs.com/zh-cn/
教程步骤:
一、新建一个文件夹
知识扩展:命令方式 mkdir myapp
二、进入该文件夹
知识扩展:命令方式 cd myapp
三、打开终端,运行 express应用程序生成器
命令 npx express-generator
依赖安装
一、【必装】nodemon 热重载
命令:npm i nodemon
官方文档:https://www.npmjs.com/package/nodemon
二、【必装】ykt-mongo 连接并实现mongodb数据库的操作
命令 npm i ykt-mongo
官方文档:https://www.npmjs.com/package/ykt-mongo
三、【选装】xmlhttprequest 网络请求,用于模拟浏览器 XMLHttpRequest 对象
官方文档:https://www.npmjs.com/package/xmlhttprequest
[/collapse]
配置数据库
一、在 package.json
里 添加
"db": {
"url": "mongodb://localhost:数据库端口(默认27017)",
"dbname": "数据库名称"
}
扩展知识:需要放服务器用其数据库,而且数据库设置账号和密码的话,url
的格式:
mongodb://数据库名称:数据库密码@localhost:数据库端口
二、在 文件夹routes
里的 index.js
的上面添加
var db = require("ykt-mongo");// 连接并实现mongodb数据库的操作,必须添加
var XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;// 原生网络请求,选择性添加
编写接口
在 文件夹routes
里的 index.js
编写
// 示例
// 获取云端数据
router.get('/cloudGet', function (req, res, next) {// /cloudGet 指接口路径
db.collection("cloud").find(req.query, function (items) {// cloud 指集合(或表)的名称
if (items.length >= 0) {//
res.send({
code: 200,
data: items,
msg: "成功"
})
} else {//
res.send({
code: -1,
msg: "失败"
})
}
})
})
接下来是增删改查的一些示例
官方文档:https://expressjs.com/zh-cn/4x/api.html#router
// 注意:只提供简单常用的基本语法,更多逻辑和安全验证请自行发挥或查询官方文档
// 添加
router.post('/add', function (req, res, next) {
db.collection("user").insert(req.body, function (item) {
if (item.result.ok == 1 && item.result.n == 1) {
res.send({
code: 200,
msg: "成功"
})
} else {
res.send({
code: -1,
msg: "失败"
})
};
})
})
// 删除
router.delete('/del', function (req, res, next) {
db.collection("user").remove({_id}, function (items) {
if (items.result.n == 1 && items.result.ok == 1) {
res.send({
code: 200,
msg: "成功"
})
} else {
res.send({
code: -1,
msg: "失败"
})
};
})
})
// 改,这里用的方式是将新的数据进行设置更新
router.put('/change', function (req, res, next) {
let newObj = JSON.parse(JSON.stringify(req.query));
db.collection("goodsList").update({ _id }, { $set: newObj }, function (items) {
if (items.result.n == 1 && items.result.ok == 1) {
res.send({
code: 200,
msg: "成功"
});
} else {
res.send({
code: -1,
msg: "失败"
})
};
})
})
// 查
router.get('/check', function (req, res, next) {
db.collection("user").find(req.query, function (items) {
if (items.length >= 0) {
res.send({
code: 200,
data: items,
msg: "成功"
})
} else {//
res.send({
code: -1,
msg: "失败"
})
}
})
})
注意:也可以自行在 文件夹routes
里新建js文件,具体方法看下面
【重头戏】服务器配置
[scode type=“blue” size=“”]后端:什么?是狗都不用的宝塔面板?
前端:目前能用就行了,方便和简单才是前端写自定义接口项目的王道。[/scode]
一、买个服务器,不要主机
没错,推荐32核32G【滑稽】
二、安装一下环境
花了三天的工资,终于买回来了一台服务器,呜呜~
必装
Nginx(v1.2)、Pure-Ftpd(v1.0)、phpmyadmin(4.9)、mongodb(4.4)、
Node.js版本管理器(v1.7 内置PM2管理器)
三、配置一下Node.js版本管理器
在【软件商店】打开【Node.js版本管理器】,选择【命令行版本】,一般选择官网上面显示的长期支持版
四、添加 node项目
首先,在【文件】的 wwwroot 文件夹里 新建一个文件夹,然后将 上面本地创建的api接口项目文件 放进去;
其次,在【网站】打开【Node项目】,点击【添加Node项目】,项目目录选择api接口项目所在的位置,设置 端口(没改过的话就是3000),其它的默认的就行,绑定域名可以先不选,好啦,点击 提交
好啦,现在你可以通过 ip:3000/路径
访问你写的api接口啦!**
不过,我想通过https协议访问咋办捏?毕竟,比如微信小程序就需要https的合法域名
点击添加好的项目的 设置,点击 【域名管理】,添加一个主域名或者泛域名(注意需要域名已经解析到该服务器ip),再点击【外网映射】打开映射,最后点击【SSL】,使用“Let’s Encrypt” 申请一个证书,并且开启“强制Https”,现在,你可以通过这个域名作为访问地址啦,而且不需要加端口!
更多推荐
所有评论(0)