当前位置:首页 > VUE

vue开发环境实现登录

2026-02-23 15:33:29VUE

安装 Vue 开发环境

确保已安装 Node.js(建议版本 16+)和 npm/yarn。通过以下命令创建 Vue 项目:

npm create vue@latest my-vue-login
cd my-vue-login
npm install

配置路由和登录页面

安装 Vue Router 并配置路由:

npm install vue-router

src/router/index.js 中定义路由:

import { createRouter, createWebHistory } from 'vue-router'
import Login from '../views/Login.vue'

const routes = [
  { path: '/login', component: Login }
]
const router = createRouter({
  history: createWebHistory(),
  routes
})
export default router

创建登录组件

src/views/Login.vue 中实现登录表单:

<template>
  <form @submit.prevent="handleLogin">
    <input v-model="username" placeholder="用户名" />
    <input v-model="password" type="password" placeholder="密码" />
    <button type="submit">登录</button>
  </form>
</template>

<script setup>
import { ref } from 'vue'
import { useRouter } from 'vue-router'

const username = ref('')
const password = ref('')
const router = useRouter()

const handleLogin = () => {
  if (username.value && password.value) {
    localStorage.setItem('isAuthenticated', 'true')
    router.push('/')
  }
}
</script>

状态管理与权限验证

使用 Pinia 或 Vuex 管理登录状态(以 Pinia 为例):

npm install pinia

src/stores/auth.js 中定义状态:

import { defineStore } from 'pinia'
export const useAuthStore = defineStore('auth', {
  state: () => ({
    isAuthenticated: localStorage.getItem('isAuthenticated') === 'true'
  }),
  actions: {
    login() {
      this.isAuthenticated = true
    }
  }
})

路由守卫配置

修改 src/router/index.js 添加全局守卫:

router.beforeEach((to, from, next) => {
  const isAuthenticated = localStorage.getItem('isAuthenticated') === 'true'
  if (to.path !== '/login' && !isAuthenticated) {
    next('/login')
  } else {
    next()
  }
})

后端接口对接(示例)

使用 Axios 发送登录请求:

npm install axios

Login.vue 中调用接口:

import axios from 'axios'
const handleLogin = async () => {
  try {
    const response = await axios.post('/api/login', {
      username: username.value,
      password: password.value
    })
    if (response.data.success) {
      localStorage.setItem('token', response.data.token)
      router.push('/')
    }
  } catch (error) {
    console.error('登录失败', error)
  }
}

环境变量配置

在项目根目录创建 .env 文件:

VITE_API_BASE_URL=http://your-api-url.com

通过 import.meta.env.VITE_API_BASE_URL 获取变量。

样式与优化

可引入 UI 库(如 Element Plus)优化表单样式:

npm install element-plus

main.js 中全局引入:

vue开发环境实现登录

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
app.use(ElementPlus)

标签: 环境vue
分享给朋友:

相关文章

vue实现分类

vue实现分类

Vue实现分类功能的方法 使用v-for和计算属性 通过计算属性对数据进行分类处理,结合v-for渲染分类后的列表。示例代码: <template> <div>…

vue路由实现

vue路由实现

Vue 路由实现 Vue Router 是 Vue.js 的官方路由管理器,用于构建单页面应用(SPA)。以下是 Vue Router 的基本实现步骤和核心功能。 安装 Vue Router 通过…

vue实现123456

vue实现123456

Vue 实现数字 123456 的显示 在 Vue 中显示数字 123456 非常简单,可以通过以下方法实现: 方法一:直接在模板中显示 <template> <div>…

vue 实现聊天

vue 实现聊天

使用 Vue 实现聊天功能 创建 Vue 项目并安装依赖 确保已安装 Vue CLI,通过以下命令创建新项目: vue create chat-app 进入项目目录后,安装必要的依赖(如 Socke…

vue实现幻灯

vue实现幻灯

Vue实现幻灯片的基础方法 使用Vue实现幻灯片功能可以通过多种方式完成,以下是几种常见方案: 方案一:基于Vue的过渡动画 通过Vue的<transition>或<transit…

mui实现vue

mui实现vue

mui 实现 Vue 的步骤 mui 是一个轻量级的前端框架,常用于移动端开发。结合 Vue 可以实现高效的开发体验。以下是具体实现方法。 安装 mui 和 Vue 通过 npm 或 yarn 安装…