栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

使用node进行后台管理及注意事项

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用node进行后台管理及注意事项

1.在根目录命令行输入以下代码来安装node脚手架

npm install -g koa-generator

2.创建后端项目文件夹,输入koa2 xxxx(文件夹名称),再npm install

3.由于后端的端口号与前端的端口号不一致,因此产生了跨域问题。

这里给出跨域的概念:(面试)

跨域是浏览器的一个特性,就是浏览器从一个域向另一个域的服务器发送请求,来访问另一个域上的资源。但是由于请求的文件可能会存在恶意攻击,浏览器并不允许直接访问另一个域上的资源,只能访问同一个域上的资源,这个就是同源策略。所谓同源策略,指的是协议、域名、端口号一直,如果它们有一个不一致时,就会产生跨域。

跨域引发的问题:

(1)cookie、Localstorage无法读取

(2)dom和js对象无法读取,主要是iframe

(3)axios请求不能发送

因此,我们需要在后端服务器中配置CORS来解决跨域。具体操作如下:

在node后端项目中安装CORS插件

npm install @koa/cors --save

然后在app.js中引入并使用

//引入CORS
const cors = require('koa-cors');
//使用CORS
app.use(cors());

4.在navicat中创建数据库和表(具体不介绍)

5.在后端项目中安装MySQL驱动

npm install mysql

6.在后端项目routes/index.js中进行一系列操作

首先加载MySQL驱动及连接数据库,连接池中的属性都换成自己的

// 加载MySQL驱动
const mysql = require('mysql');
// 连接数据库
const pool = mysql.createPool({
    connectionLimit: 10,
    host: 'localhost',
    user: 'root',
    password: '',
    database: 'my_website'
});

然后由于node中请求数据是异步操作,所以需要封装这样一个函数,通过Promise、async、await方法将异步操作变成同步

function getQueryData(sql, params = []) {
    return new Promise((resolve, reject) => {
        pool.query(sql, params, function (error, results) {
            if (error) reject(error);
            resolve(results);
        });
    })
}

最后调用,使用例如下:

router.get('/getArticleList', async (ctx) => {
    // 查询数据库
    let sql =
        `SELECt t_user.id as user_id, t_user.username, t_user.portrait, 
        t_article.id as article_id, t_article.title, t_article.image, 
        t_article.content, t_article.create_time 
        FROM t_user, t_article 
        WHERe t_user.id=t_article.user_id`;
    let results = await getQueryData(sql);
    ctx.body = results;
});
重点来辣!!! 关键点:token

token的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。主要作为登录验证使用。 

token的实现原理:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/583856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号