用户登录注册案例(Vue路由)

一、准备工作

1.安装git-bash

安装命令行工具Git一路next即可(建议不要放C盘)

2.安装nodeJS环境  

NodeJS安装,注意版本,一路next即可(建议不要放C盘)
检验是否安装成功:单击右键--->打开git-bash--->出现小黑窗--->输入 node -v

3.git-bash切换成淘宝镜像

单击右键--->打开git-bash--->出现小黑窗

切换淘宝镜像: npm config set registry https://registry.npm.taobao.org/
查看镜像源: npm config get registry

二、初始化项目

1.创建date0425文件夹(路径随意,不过要记住)

2.项目初始化

打开Git bash(进入到date0506文件夹中, 单击右键--->打开git-bash--->出现小黑窗(小黑窗不要关闭,后面还需要在小黑窗中输入命令)
输入 npm init -y
会生成一个package.json的工程文件,该文件不允许出现注释文本

三、安装vue框架和路由

在小黑窗中输入:
npm install vue@2.6.14
npm i vue-router@3.1.x

 四、安装webpack及其相关的开发工具

1.在小黑窗中输入:

npm i webpack@4.39.x -D
npm i webpack-cli@3.3.x -D

npm i webpack-dev-server@3.8.x -D

npm i html-webpack-plugin@3.2.x -D

 2.在根目录下,创建webpack.config.js文件

 打开VSCode---->文件---->打开文件夹--->找到date0506

 3.向webpack.config.js文件添加内容

const htmlWebpackPlugin = require('html-webpack-plugin')
const vueLoaderPlugin = require('vue-loader/lib/plugin')
module.exports = {
    entry:'./main.js',
    output:{
        path:__dirname,
        filename:'app.js',
    },
    resolve:{
        alias:{
            'vue':'vue/dist/vue.js'
        }
    },
    module:{
        rules:[
            {
                test:/\.vue$/,
                use:'vue-loader'
            },
            {
                test:/\.css$/,
                use:['style-loader','css-loader']
            },
            // {
            //     test:/\.scss$/,
            //     use:['style-loader','css-loader',sass-loader]
            // },
            {
                test:/\.(jpg|png|jpeg|bmp|gif)$/,
                use:'url-loader'
            },
            {
                test:/\.(eot|ttf|woff|woff2|svg|otf|ttc)$/,
                use:'file-loader'
            },

        ]
    },
    plugins:[
        new htmlWebpackPlugin({
            template:'index.html'
        }),
        new vueLoaderPlugin()
    ]
}

 4.在date0504目录中,创建main.js和index.htm

① index.html中的内容为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app"></div>
</body>
</html>

 ②main.js的内容为

// 引入MUI框架
import './lib/mui/css/mui.css'

// 引入vue框架
import Vue from 'vue'

// 引入路由
import VueRouter from 'vue-router'

// 安装路由
Vue.use(VueRouter)

// 引入主组件
import app from './App.vue'

// 引入路由的配置
import router from './router.js'


new Vue({
    el:'#app',
    render:(c) =>c(app),
        // 渲染页面的主主键
        
    router
})

五、安装vue文件的加载器

1.在小黑窗中输入:

npm i vue-loader@15.7.x vue-template-compiler@2.6.x -D

六、安装加载css文件css-loader,style-loader

1.在小黑窗中输入:

npm i css-loader@3.2.x --save-dev

npm i style-loader@1.0.x --save-dev

七、安装sass

1.在小黑窗中输入:

npm install sass-loader@7.2.x -D

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/ -D

八、引入UI框架

1.在date0506目录下创建文件夹lib,将mui放进去

九、安装loader加载图片和其他字体文件

1.在小黑窗中输入:

npm i url-loader@2.1.x -D

npm i file-loader@4.2.x -D

 十、创建页面   

(HTML入口:挂载点,逻辑入口:引入项目的依赖,主组件:加载和显示其他组件)

1,首页index.html(前面已经创建了并且添加了内容)

2,在main.js中引入项目所需要的文件和框架(前面已经创建了并且添加了内容)

3.创建主组件:App.vue

4.创建路由配置文件:router.js

 5.App.vue中的内容为

<template>
    <div>
        <div class="btns">
            <router-link to="/login" tag="button">登录</router-link>
            <router-link to="/register" tag="button">注册</router-link>
        </div>
        <router-view></router-view>
    </div>
</template>

<style>
.btns{
    display:flex;
}
.btns button{
    width:50%;
}
.router-link-exact-active,.router-like-active{
    background:#007AFF;
    color:white;

}
</style>

<script>
</script>

6.router.js中的内容为

//引入路由
import VueRouter from "vue-router"
//引入登录和注册组件
import Login from "./components/Login.vue"

import Register from "./components/Register.vue"

//暴露路由模块
export default new VueRouter({
    routes:[
        {
            path:'/',
            redirect:'/login'  //路由重定向
            
        },
        {
            path:"/login",
            component:Login
        },
        {
            path:"/register",
            component:Register
        }
    ]
})

7.在date0506目录下创建components目录,然后在components目录下分别创建Login.vue和Register.vue

 8.Login.vue的内容为

<template>
    <div>
        <form class="mui-input-group">
            <div class="mui-input-row">
                <label>用户名</label>
                <input type="text" class="mui-input-clear" placeholder="请输入用户名">
            </div>
                <div class="mui-input-row">
                <label>密码</label>
                <input type="password" class="mui-input-password" placeholder="请输入密码">
            </div>
                <div class="mui-button-row">
                <button type="button" class="mui-btn mui-btn-primary" >确认</button>
                
            </div>
    </form>
    </div>
</template>

<style scoped>

</style>

<script>

</script>

9.Register.vue的内容为

<template>
    <div>
        <form class="mui-input-group">
            <div class="mui-input-row">
                <label>用户名</label>
                <input type="text" class="mui-input-clear" placeholder="请输入用户名">
            </div>
            <div class="mui-input-row">
                <label>性别</label>
                <input type="radio" name="sex">女
                <input type="radio" name="sex">男
            </div>
            <div class="mui-input-row">
                <label>密码</label>
                <input type="password" class="mui-input-password" placeholder="请输入密码">
            </div>
            <div class="mui-button-row">
                <button type="button" class="mui-btn mui-btn-primary" >确认</button>
                
            </div>
        </form>
    </div>
</template>

<style scoped>

</style>

<script>

</script>

十一、运行项目

1.检查并配置package.json:

添加:"dev": "webpack-dev-server --inline --hot --port 8088"

 2.打开小黑窗,执行 npm run dev

 

 3.打开浏览器访问:http://localhost:8088/

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我将为您提供一个基于Vue用户登录和注册的案例代码,供参考: 1. 创建一个名为`Login.vue`的登录组件,并设置登录表单: ``` <template> <div> <h2>用户登录</h2> <form> <div> <label>用户名:</label> <input type="text" v-model="username" placeholder="请输入用户名"> </div> <div> <label>密码:</label> <input type="password" v-model="password" placeholder="请输入密码"> </div> <button @click.prevent="login">登录</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { login() { // 发送登录请求 axios.post('/api/login', { username: this.username, password: this.password }).then(response => { // 登录成功 this.$store.commit('login', response.data) this.$router.push('/') }).catch(error => { // 登录失败 console.log(error) }) } } } </script> ``` 2. 创建一个名为`Register.vue`的注册组件,并设置注册表单: ``` <template> <div> <h2>用户注册</h2> <form> <div> <label>用户名:</label> <input type="text" v-model="username" placeholder="请输入用户名"> </div> <div> <label>密码:</label> <input type="password" v-model="password" placeholder="请输入密码"> </div> <button @click.prevent="register">注册</button> </form> </div> </template> <script> export default { data() { return { username: '', password: '' } }, methods: { register() { // 发送注册请求 axios.post('/api/register', { username: this.username, password: this.password }).then(response => { // 注册成功 this.$router.push('/login') }).catch(error => { // 注册失败 console.log(error) }) } } } </script> ``` 3. 在`main.js`文件中配置路由Vuex: ``` import Vue from 'vue' import App from './App.vue' import VueRouter from 'vue-router' import Vuex from 'vuex' import Login from './components/Login.vue' import Register from './components/Register.vue' Vue.use(VueRouter) Vue.use(Vuex) const router = new VueRouter({ routes: [ { path: '/login', component: Login }, { path: '/register', component: Register } ] }) const store = new Vuex.Store({ state: { user: null }, mutations: { login(state, user) { state.user = user } } }) new Vue({ el: '#app', router, store, render: h => h(App) }) ``` 4. 在后端服务器上设置API路由,并处理登录和注册请求: ``` const express = require('express') const bodyParser = require('body-parser') const app = express() app.use(bodyParser.json()) const users = [] app.post('/api/login', (req, res) => { const user = users.find(u => u.username === req.body.username && u.password === req.body.password) if (user) { res.json(user) } else { res.status(401).send('用户名或密码不正确') } }) app.post('/api/register', (req, res) => { const user = users.find(u => u.username === req.body.username) if (user) { res.status(409).send('用户名已存在') } else { users.push(req.body) res.sendStatus(201) } }) app.listen(3000, () => { console.log('服务器已启动') }) ``` 以上是一个简单的Vue用户登录和注册的案例,您可以根据自己的实际需求进行修改和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值