node express + mysql实现简单服务端
前端新人想写服务端不想学PHP等后端语言怎么办,那就用js写后台吧!
这也是我这个前端新人的学习成果分享,如有那些地方不对,请给我指出。

1.准备工作
node:官网下载,然后配置环境变量,在cmd中输入node -v检查是否配置成功。
npm:集成在node里了,npm -v检查。
MySQL:官网下载安装,配置请问度娘。

2.构建服务端
首先先在项目文件夹里新建一个server的新文件夹,新建一个index.js服务端入口文件,一个mysql.js配置文件,一个api.js接口文件。

index.js

const userApi = require('./api')
const bodyParser = require('body-parser')
const express = require('express')
const app = express() // 中间件
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false })) app.use('/sqlapi', userApi)
// 监听端口
app.listen(3000)
console.log('success listen at port:3000')

mysql.js

var mysql = require('mysql')
var connection = mysql.createConnection({
host: 'localhost',//数据库地址
user: 'root', //连接数据库的用户名
password: '',//连接数据库的密码
database: ''//数据库名
}) module.exports = connection

api.js

var mysql = require('./mysql')
var express = require('express')
var router = express.Router()
mysql.connect()
router.post('/login', (req, res) => {
var params = req.body
mysql.query("SELECT * FROM `user` WHERE `username` = '" + params.username + "' AND `password` = '" + params.password + "'", function (err, result) {
if (err) {
console.log(err)
}
if (result) {
if (result.length > 0) {
res.json({ message: '登录成功', status: 1 })
} else {
res.json({ message: '用户名或密码错误', status: 0 })
}
res.end('is over')
}
})
})

这样服务端就完成了,然后进入server文件夹,cmd运行命令

node index

启动服务端

3.前端访问
服务端构建完成后就可以在前台用ajax访问了,这里我用我正在写的个人项目做演示,我个人项目用的是vue-cli3,请求用的是axios,并且封装了拦截器,所以可能有些不同,只需要按照常规的post请求即可。

** 注意,因为服务端和前端端口不一致,所以存在跨域问题,需要进行跨域 **
这是我前端api封装的代码,不含拦截器

import request from '@/utils/request'

/**
* 登录
*/
export function login (data) {
return request({
url: '/sqlapi/login',
method: 'post',
data: {
username: data.username,
password: data.password
}
})
}

调用页面

login () {
var _this = this
if (this.disabled) return
this.disabled = true
login({ username: this.username, password: this.password }).then(function (data) {
_this.disabled = false
if (data.data.status) {
Toast(data.data.message)
_this.$store.dispatch('SetUserInfo', { username: _this.username, login: true })
} else {
Toast(data.data.message)
}
})
}

跨域配置:
跨域我是在前台进行配置的,因为还用到其它接口,也可以在服务端进行配置噢。

proxy: {
'/sqlapi': {
target: 'http://localhost:3000/sqlapi',
ws: true,
changeOrigin: true,
pathRewrite: {
'^/sqlapi': ''
}
}
}

 mysql 建表
首先先建一个表,比如账户信息,用户名作为主键,随便写两个字段测试一下

登录界面填好账号密码后,点击登录请求

查看返回数据,请求成功

这样就实现了node express + mysql的服务端,是不是很简单,觉得有用的话就给我评个分吧!

完整项目地址:github

前端用node+mysql实现简单服务端的更多相关文章

  1. 前端学习 node 快速入门 系列 —— 服务端渲染

    其他章节请看: 前端学习 node 快速入门 系列 服务端渲染 在简易版 Apache一文中,我们用 node 做了一个简单的服务器,能提供静态资源访问的能力. 对于真正的网站,页面中的数据应该来自服 ...

  2. 前端使用node.js+express+mockjs+mysql实现简单服务端,2种方式模拟数据返回

    今天,我教大家来搭建一个简单服务端 参考文章: https://www.jianshu.com/p/cb89d9ac635e https://www.cnblogs.com/jj-notes/p/66 ...

  3. Pomelo:网易开源基于 Node.js 的游戏服务端框架

    Pomelo:网易开源基于 Node.js 的游戏服务端框架 https://github.com/NetEase/pomelo/wiki/Home-in-Chinese

  4. Linux中如何安装配置Mysql和SVN服务端

    目标Linux系统为centOS 一.安装登陆mysql   1.直接以root用户运行:yum install mysql 和yum install mysql-server等带安装完成. 2.安装 ...

  5. git分布式的理解----简单服务端搭建

    Git是分布式的,并没有服务端跟客户端之分,所谓的服务端安装的其实也是git.Git支持四种协议,file,ssh,git,http.ssh是使用较多的,下面使用ssh搭建一个免密码登录的服务端. 1 ...

  6. node.js创建简单服务测试请求数据

    工具:安装node: 1,创建文件夹 server, 2 ,在server文件夹下分别创建server.js 和 package.json 文件 3,server.js 代码: var express ...

  7. 小tips:node起一个简单服务,打开本地项目或文件浏览

    1.安装nodejs 2.在项目文件夹目录下创建一个js文件,命名server.js(自定义名称),内容如下 var http = require('http'); var fs = require( ...

  8. node起一个简单服务,打开本地项目或文件浏览

    1.安装nodejs 2.在项目文件夹目录下创建一个js文件,命名server.js(自定义名称),内容如下 var http = require('http'); var fs = require( ...

  9. [django]django配合前端vue前后端联调,django服务端解决跨域(django-cors-headers)

    django内部csrf post提交数据解决 https://www.cnblogs.com/iiiiiher/articles/9164940.html 前端写了个页面,里面$.post发现403 ...

随机推荐

  1. try catch 一点小记录

    这两天做了新的需求,做完之后 在测试环境下 完美通关.之后部署到了预发布环境,然而怎么尝试都不通过.刚开始看到 预发布的一个配置文件错了.发邮件改了下,但是依然流程跑不通.之后 一步步在测试环境看代码 ...

  2. 用java实现从命令行接收多个数字,求和之后输出结果。

    用java实现从命令行接收多个数字,求和之后输出结果. 1 设计思想: (1)建立类. (2)输出参数个数. (3)定义int型的num和sum,分别用来存储参数和参数的和. (4)用for循环讲参数 ...

  3. 上传通用化 VHD 并使用它在 Azure 中创建新 VM

    本主题逐步讲解如何使用 PowerShell 将通用化 VM 的 VHD 上传到 Azure.从该 VHD 创建映像,然后从该映像创建新 VM. 可以上传从本地虚拟化工具或其他云导出的 VHD. 对新 ...

  4. ssh key生成步骤

    1. 安装git,从程序目录打开 "Git Bash" ,或者直接用git shell,github自带的工具 2. 键入命令:ssh-keygen -t rsa -C " ...

  5. Sybase常用时间日期函数

    Sybase日期函数日期函数getdate()得到当前时间,可以设置得到各种时间格式.datepart(日期部分,日期)取指定时间的某一个部分,年月天时分秒.datediff(日期部分,日期1,日期2 ...

  6. Office 365实现单点登录系列(1)—域环境搭建

    Hello 小伙伴们, 2018新年快乐,作为2018年首篇文章,怎么能不给大家带来点干货呢?这篇文章其实我9月底的时候已经在MSDN上发布过了,为表诚意,我更新了这篇文章,并把它组成了一个系列,2. ...

  7. 沉淀再出发:kafka初探

    沉淀再出发:kafka初探 一.前言 从我们接触大数据开始,可能绕在耳边的词汇里面出现的次数越来越多的就包括kfaka了.kafka的设计初衷是希望作为一个统一的信息收集平台,能够实时的收集反馈信息, ...

  8. mac系统终端的color scheme配置和vim配置

    一.配置终端 solarized http://ethanschoonover.com/solarized 简单配置脚本: #!/bin/sh git clone git://github.com/a ...

  9. Linux系统之路——如何在服务器用U盘安装CentOS7.2(一)

    终于将CentOS7装上服务器(thinkserver250,不得不说联想的太烂了)了,过程无比艰辛,因为我发现网上大家提到的所有U盘安装CentOS7时碰到的问题几乎都被我碰到了,像什么: 1.刻录 ...

  10. html转canvas html2canvas.js

    $("#btn-html2canvas").on("click",function(){//btn-html2canvas为按钮 //content-main为 ...