包含:前言、安装 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/

下载链接: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”,现在,你可以通过这个域名作为访问地址啦,而且不需要加端口!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐