Vue3项目从0-1项目(手把手教学)

简介: Vue3项目从0-1项目(手把手教学)

学完vue3之后一直感觉手痒痒想用vue3做项目,正好最近公司不是很忙,就以公司现开发项目为模板将公司项目升级3.0。


项目搭建


01. 搭建项目


vue create qitaijk3.0


e96ab97d36a34ad4be0ec4c05db53dce.png


选择自定义第三个


e625ae120af44754b362ea2e07b32651.png


选择125678(空格选中)回车确定


1dd2fa69584b4625bf059b7a56bfbda6.png


选择3

99b2c3ea6b6941cd9fb62de0b727905c.png


选择n

3e40abc56b1944eda83d09defb52ffc6.png


选择less

98d8b813b1304c08b38b6cfc78d514a8.png


选择第三个 Standard config

a33b55644e2f4c1d9ccbdd37d9fca887.png


两个都选中

9e86f7df5467468d8264157c23721eaf.png


选择第一个

f89df3608e644d8e8d28256def3014c4.png


选择n

b0e6bcf5efed45f88fa28cc9abd1b032.png


到这里搭建就已经完成了


以上用户可根据自己喜好进行配置。新手建议跟随作者进行配置


完成之后可以先尝试运行项目


也可以使用npm run serve 我这边使用的是yarn

32e64ea94c32491db18f8d84c4063b57.png


dc005cbe32974a389b513b46bf31ef2a.png



Vuex配置


完成了上面配置 接下里我们就进入到vuex的配置中


首先因为vuex的数据我们需要做持久化,所以首先下载vuex持久化插件

npm i vuex-persistedstate
yarn add vuex-persistedstate


老规矩,还是分模块


在src/store 文件夹下新建 modules 文件,在 modules 下新建 user.js 和 database.js


user.js

// 用户模块
export default {
  namespaced: true,
  state () {
    return {
      setUser: {
      }
    }
  },
  mutations: {
    setUser (state, setUser) {
      state.setUser = setUser
    }
  }
}


22f123b374b04bffb3a100be84f57b08.png


database.js

// 分类模块
export default {
  namespaced: true,
  state () {
    return {
      database: []
    }
  }
}


b29a823e09364296b77d5b7f0d075f84.png


store/index.js


然后接下来在store的首页引入持久化插件进行使用

import { createStore } from 'vuex'
// 引入持久化插件
import createPersistedstate from 'vuex-persistedstate'
import user from './modules/user'
import database from './modules/database'
export default createStore({
  modules: {
    user,
    database
  },
  plugins: [
    createPersistedstate({
      key: 'haihaina', // 存储的名字
      paths: ['user', 'database'] // 持久化的模块
    })
  ]
})


92795b2e44f14569b404d31d844486ec.png


axios


接下来就到了封装axios


首先第一步还是需要下载axios

npm i axios
yarn add axios


新建 src/utils/request.js 模块


// 1. 创建一个新的axios实例

// 2. 响应拦截器:2.1. 剥离无效数据  2.2. 处理token失效

// 3. 导出一个函数,调用当前的axsio实例发请求,返回值promise


// 1. 创建一个新的axios实例
import axios from 'axios'
// 导出基准地址
export const baseURL = '公司项目的地址'
const instance = axios.create({
  // axios 的一些配置,baseURL  timeout
  baseURL,
  timeout: 5000
})
instance.interceptors.request.use(config => {
  return config
}, err => {
  return Promise.reject(err)
})
// 2. 响应拦截器:2.1. 剥离无效数据  2.2. 处理token失效
instance.interceptors.response.use(
  // res => res.data  取出data数据,将来调用接口的时候直接拿到的就是后台的数据
  res => res.data,
  err => {
    return Promise.reject(err)
  })
// 3. 导出一个函数,调用当前的axsio实例发请求,返回值promise
// 请求工具函数
export default (url, method, submitData) => {
  // 负责发请求:请求地址,请求方式,提交的数据
  return instance({
    url,
    method,
    // 1. 如果是get请求  需要使用params来传递submitData   ?a=10&c=10
    // 2. 如果不是get请求  需要使用data来传递submitData   请求体传参
    [method.toLowerCase() === 'get' ? 'params' : 'data']: submitData
  })
}


4f5eee5c051d4f14b58d2ea8b185057b.png


到这里我们Vue3的项目就已经基本上完成啦,下面就可以按照自己公司项目需求进行项目的路由的设计,如果这篇文章对您有所帮助,欢迎点赞收藏。


相关文章
|
7天前
|
JavaScript 容器
乾坤qiankun框架搭建 主应用为vue3的项目。
乾坤qiankun框架搭建 主应用为vue3的项目。
64 2
|
1天前
|
JavaScript
如何在 Vue 项目中选择合适的模块格式
【10月更文挑战第20天】选择合适的模块格式需要综合考虑多个因素,没有一种绝对正确的选择。需要根据项目的具体情况进行权衡和分析。在实际选择过程中,要保持灵活性,根据项目的发展和变化适时调整模块格式。
14 7
|
1天前
|
JavaScript 前端开发 编译器
在 Vue 项目中使用 ES 模块格式的优点
【10月更文挑战第20天】在 Vue 项目中使用 ES 模块格式具有众多优点,这些优点共同作用,使得项目能够更高效、更可靠地开发和运行。当然,在实际应用中,还需要根据项目的具体情况和需求进行合理的选择和配置。
14 6
|
1天前
Vue3 中使用 Event Bus
【10月更文挑战第16天】Event Bus 是 Vue3 中一种简单而实用的通信方式,在一些简单的场景中可以发挥重要作用。但在实际应用中,要根据项目的具体需求和复杂度,选择合适的通信方式,以实现最佳的性能和可维护性。同时,要遵循最佳实践,合理使用 Event Bus,避免出现问题。
10 5
|
1天前
|
前端开发 UED
vue3知识点:Suspense组件
vue3知识点:Suspense组件
11 4
|
1天前
|
JavaScript 前端开发 Java
《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense
《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense
10 2
|
1天前
|
Java
vue3知识点:Teleport组件
vue3知识点:Teleport组件
10 1
|
6天前
|
缓存 JavaScript 前端开发
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
《基础篇第4章:vue2基础》:使用vue脚手架创建项目
33 3
|
7天前
|
JavaScript
vue3 生命周期
【10月更文挑战第14天】vue3 生命周期
|
7天前
|
JavaScript 前端开发 API
深入探索挖掘vue3 生命周期
【10月更文挑战第10天】
20 0