教程系列之:前端全栈入门,node+express+mysql+vue+axios

做项目的时候会不会因为没有数据而烦恼?没有后端给接口而感到举步维艰?接下来,这些都不是问题,我们全都可以自己做。

第一步 搭建自己的node服务,创建一个server文件夹

cnpm i express body-parser mysql

注意:这里要求,电脑上安装了mysql数据库。博主使用的Navicat Premium连接的数据库,如果需要下面有国产版链接

这三个分别是node的框架express,解析post请求数据的body-parser中间件,连接数据库的中间件mysql。

//index.js
const express = require('express')
const bodyParser = require('body-parser')
const mysql = require('mysql')

let db = mysql.createPool({     //这里建议使用createPool,这样可以使用多个服务,默认10个,可以自己设置
  host: 'localhost',
  user: 'root',
  password: 'root',
  database: 'property_system'
})

let app = express()         //使用express启动一个服务,监听3000端口
app.listen(3000, () => {
  console.log('正在运行...')
})
复制代码

不了解mysql中间件的配置项的戳这里:npm.taobao.org/package/mys…

app.use(bodyParser.urlencoded({     //使用body-parser中间件
  extended: false
}))
app.use(bodyParser.json())
复制代码

接下来,只要在server文件夹下,启动一个命令行,输入node index。这样一个简单的node服务就启动起来了。

第二步,创建一个接口,用来给前台来请求,降低难度,这里不使用路由,后续再说

app.post('/api/login', (req, res) => {
  console.log(req.body)
  req.db.query(`SELECT * FROM admin_table WHERE admin='${req.body.admin}'`, (err, data) => {
    if (err) {
      console.log(err)
      res.status(500).send('数据库有问题了')
    } else {
      console.log(data)
      if (data.length > 0 && req.body.password === data[0].password) {
        console.log(`验证完毕,权限为${data[0].power_id}`)
        res.send({
          power_id: data[0].power_id
        })
      } else {
        console.log('账号密码有误')
        res.send('账号/密码错误')
      }
    }
  })
})
复制代码

这里我们创建好了一个post请求的接口,路径是/api/login,这是一个简单的登录验证的接口,会根据前台请求的数据判断数据库是否有对应的数据,如果有会返回一个权限等级,没有会提示账号/密码错误。

第三步,前台请求接口准备工作

因为端口号不同,会涉及到跨域,因为博主这里是使用vue脚手架起的项目,直接在config/index.js文件中,配置了一个服务器代理。代码如下:

    proxyTable: {
      '/api': {                 //使用/api代理对3000端口服务的请求
        target: 'http://localhost:3000',
        changeOrigin: true,
        pathRewrite: {
          '^/api': '/api'
        }
      },
    },
复制代码

前台使用cnpm i axios -S 安装axios模块,项目一般很多地方都会有请求,我们可以直接在main.js中将其注册到vue实例的原型上。

import axios from 'axios'
Vue.prototype.$http = axios
复制代码

到这里,已经完成了所有准备工作,我们只需要,在对应的组件内去请求接口就好了

    go_login () {
      console.log(this.account)
      this.$http.post('/api/login', { 
        admin: this.account,
        password: this.password
      }).then(res => {
        console.log(res)
        if (res.data.power_id) {
          this.$global.power_limit = res.data.power_id
          this.$router.push('/home')
        } else {
          console.log('错误')
          this.$notify({
            message: '账号/密码错误',
            type: 'warning'
          });
        }
      }).catch(rej => {
        this.$notify({
          message: rej,
          type: 'warning'
        });
      })
    },
复制代码

如何请求接口对大家都是小意思了,这里就不再赘述。 好了,到这里,恭喜你,已经迈出了前端全栈的第一步了

Navicat破解版:链接:pan.baidu.com/s/1vaHpaa4l… 提取码:h6zt 复制这段内容后打开百度网盘手机App,操作更方便哦

mysql:链接:pan.baidu.com/s/1TTp6vo-P… 提取码:ptmy 复制这段内容后打开百度网盘手机App,操作更方便哦

转载于:https://juejin.im/post/5cc6b604f265da039955e7c5

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 一个vue+node+mysql项目是指使用vue作为前端框架,node作为后端框架,mysql作为数据库的项目。在这个项目中,前端开发者可以使用vue进行前端页面的开发,同时使用node作为后端框架来开发后端接口,通过mysql来存储和管理数据。这样的项目可以实现前后端的完整交互和数据传输,实现开发。在项目中,可以使用express作为node的服务器框架,使用axios进行前后端的跨域访问,使用vuex进行数据管理,使用elementUI来搭建页面。这样的技术可以提供丰富的学习资源和开发工具,帮助开发者实现开发的目标。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [vue+node.js+mysql项目搭建初体验(接口)](https://blog.csdn.net/weixin_48931875/article/details/121156074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [vue+node+mysql项目完整记录](https://blog.csdn.net/u012848304/article/details/128713937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值