vue+node+mysql注册登录功能实现

vue+node+mysql注册登录功能实现

第一次用vue+node做前后端分离的项目,注册登录入手,就已经踩了很多坑,记录一下大概思路

客户端 vue-cli

构建页面,我做的手机端,用的ui框架是vant,pc端差不多

在这里插入图片描述

路由

/router/index.js

const routes = [
  {
   
    path: '/',
    name: 'Home',
    component: Home
  },
  {
   
    path: '/login',
    name: 'login',
    component: login
  },
  {
   
    path: '/register',
    name: 'register',
    component:register
  },
]
数据传递

login.vue


<script>
import axios from 'axios'
import VueAxios from 'vue-axios'
import {
    Dialog } from 'vant';
export default {
   
     data() {
   
    return {
   
      userName: '',
      password: '', 
    };
  },
  methods: {
   
     //提交按钮绑定事件
     onSubmit () {
   
     //定义一个date对象存输入框获取到的用户名和密码
      let data = {
   
        userName: this.userName,
        userPassword: this.password
      }
      //通过axios把数据传递给服务端,记得装axios依赖
      this.axios.get('/api/login', {
   
        params: data
      }).then((res) => {
   
      //这里是服务端返回信息后的处理,可以暂时不看
         console.log(res.date)
      })
    }
  },
}
</script>
因为要给服务端传递数据,涉及到跨域问题
  • 跨域问题的产生是因为受到了同源策略的影响,就是你自己电脑一个浏览器从一个端口去访问本机的另一个,是不同源的所以产生跨域问题
  • 跨域问题可以由后端解决也可以由前端解决,这里用来前端
  • 根目录下(和package.json同级)新建一个vue.config.js文件
  • 最好不要多加东西,和我一样就够了,真的真的很容易出错
module.exports = {
   
    devServer: {
   
        // open: true,
        host: "localhost",
        //客户端端口
        port: 8080,
        // https: false,
        // hotOnly: false,
        proxy: {
   
        //这里的api在axios传递数据时要用,可以检测请求地址,如果以"/api"开头,就会默认使用下面的代理
            '/api': {
   
                target: 'http://127.0.0.1:3000', //API服务器的地址
                changeOrigin: true,//"changeOrigin"用来设置开启代理
                pathRewrite: {
   
                    '^/api': ''
                }
            }
        },
    }
}

服务端

新建文件,安装express
  • npm install express
  • app.js
// 引入express
var express = require('express');
let loginRouter = require('./routes/login');

// 1. 创建app
var app = express();

// 登录路由
app.use('/api/login',loginRouter)

app.listen(3000,function(){
   
    console.log('服务端正在运行.......');
})
  • 终端运行 node .\app.js
    在这里插入图片描述
  • login.js
let express = require('express');
let router = express.Router();
//————————————连接数据库——————————
//记得装mysql依赖啊
var mysql = require('mysql');
var connection = mysql.createConnection({
   
  host     : 'localhost',
  user     : 'root',//数据库用户名
  password : '',//密码
  database :<
  • 17
    点赞
  • 154
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Vue+Node+MySQL是一种常见的前后端开发组合。Vue是一种流行的JavaScript框架,用于构建用户界面。Node是一个基于Chrome V8引擎的JavaScript运行时环境,用于构建服务器端应用程序。MySQL是一种关系型数据库管理系统,用于存储和管理数据。 在这个组合中,Vue通常用于构建前端界面,包括用户界面和交互逻辑。Node用于构建后端服务器,处理前端发送的请求,并与数据库进行交互。MySQL用于存储和管理数据。 在你提供的引用中,\[1\]是一个Node服务器端的代码示例,用于处理添加用户的请求,并将用户信息插入到数据库中。\[2\]是一个MySQL连接示例,用于连接到数据库并暴露连接对象供接口操作数据库时使用。\[3\]提供了一个简单的目录结构示例,展示了如何在Node工程中进行数据库操作。 综上所述,Vue+Node+MySQL是一种常见的前后端开发组合,用于构建Web应用程序。Vue负责前端界面,Node负责后端服务器,MySQL负责数据存储和管理。通过这种组合,可以实现前后端的数据交互和处理。 #### 引用[.reference_title] - *1* [vue+node+mysql项目开发(包括部署到服务器)](https://blog.csdn.net/juvialoxer/article/details/114012421)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [vue+node+mysql+nginx+express完成云服务器前后端分离搭建](https://blog.csdn.net/weixin_43480867/article/details/103255855)[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^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值