首页 > 其他分享 >Vue3

Vue3

时间:2023-10-07 14:26:08浏览次数:58  
标签:axios app router js Vue3 import data

vue3.3.4 + vite4.4.9

1.组件安装

1.1 ElementPlus

npm install element-plus --save
  • main.js
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App);
app.use(ElementPlus).mount('#app');

1.2 Router

npm install vue-router@4
  • router/index.js
import {
  createRouter,
  createWebHashHistory,
} from 'vue-router'

import ItProjectIndex from '../views/itproject/Index.vue';

const routes = [
  {
    path: '/itproject/index',
    component: ItProjectIndex,
    name: 'ItProjectIndex'
  },

]

// 创建路由对象
const router = createRouter({
  history: createWebHashHistory(),
  routes
})

export default router
  • main.js
import router from "./router/index";
const app = createApp(App);
app.use(router).mount('#app');

1.3 Axios

 npm install axios
  • main.js
import axios from 'axios'

const app = createApp(App);
app.config.globalProperties.$axios = axios;
  • 封装为request.js
/**
 * ajax请求配置
 */
import axios from 'axios'
import { ElMessage } from 'element-plus'

// axios默认配置
axios.defaults.timeout = 10000 // 超时时间
// axios.defaults.baseURL 请求地址前缀
// User地址
// axios.defaults.baseURL = 'http://127.0.0.1:8001'
// tools地址
// axios.defaults.baseURL = 'http://127.0.0.1:8088'
// 微服务地址
axios.defaults.baseURL = 'http://localhost:7000'

// 整理数据
axios.defaults.transformRequest = function(data) {
    data = JSON.stringify(data)
    return data
}

// 路由请求拦截
axios.interceptors.request.use(
    config => {
        config.headers['Content-Type'] = 'application/json;charset=UTF-8'
        return config
    },
    error => {
        return Promise.reject(error.response)
    })

// 路由响应拦截
axios.interceptors.response.use(
    response => {
        if (response.data.success === false) {
            return ElMessage.error(response.data.errDesc)
        } else {
            return response.data
        }
    },
    error => {
        return Promise.reject(error.response) // 返回接口返回的错误信息
    })
export default axios
  • api.js
import request from '@/utils/request'

export default {
    test() {
        console.log("test")
        return request({
            url: '/order/order/1',
            method: 'get',
        })
    }
}
  • vue使用
mounted() {
    // 原生
    this.$axios.get("http://localhost:9000/order/order/1").then(res => {
        this.obj= res.data[0];
        console.log(res.data);
    })
    // 封装
    Api.test().then(res => {
        console.log(res);
    })
}

1.3 Store

npm install vuex@next --save
  • store/index.js
import {createStore } from 'vuex'

export default createStore({
    state: {
    },
    getters:{
    },
    mutations: {
    },
    actions: {
    },
    modules: {
    }
})
  • main.js
import store from './store/index'

const app = createApp(App);
app.use(store).mount('#app');

标签:axios,app,router,js,Vue3,import,data
From: https://www.cnblogs.com/lwx11111/p/17746159.html

相关文章

  • Vue3 Div 与 v-for 的配合应用,超出自动带滚动条
    效果图 代码<li><ahref="javascript:;"class="IndReaflexCHuans"><i></i><p>当前会议[0]</p></a><divstyle="height:80%;overflow:auto;"><divv-for="......
  • vue3最基础入门,vue3 + element plus实战pc端后台管理,从零到一设计pc端项目
    教程地址 https://www.bilibili.com/video/BV1C3411s7bV 稳定、快速、免费的前端开源项目CDN加速服务,共收录了4387个前端开源项目https://www.bootcdn.cn/all/ Normalize.css使浏览器呈现所有HTML元素更加一致,并且符合现代web标准。Normalize.css只作用于需要......
  • vue3 使用 i18n
    安装官网:https://vue-i18n.intlify.dev/api/general.htmlpnpmaddvue-i18n@9使用//@/locale/index.tsimportappConfigfrom"@/configure/app.config.ts";import{nextTick}from'vue'importtype{Ref}from'vue'import{createI18n}......
  • 在 WebStorm 里调试 vue3 项目
    官方说明:https://blog.jetbrains.com/webstorm/2018/01/working-with-vue-js-in-webstorm/#:~:text=Wecandebugourapplication,andstartthedebugsession.打开WebStorm编辑器右上角的Configuration的Edit,在URL填入项目的地址并选择想要使用的Brower,点击调试之......
  • vue3 使用 pinia
    安装pinia官网:https://pinia.vuejs.org/pnpmaddpinia使用新建pinia实例//@/store/index.tsimport{createPinia}from"pinia";importuseUserStorefrom"@/store/user.ts";exportuseUserStore;constpinia=createPinia();exportdefault......
  • vue3 使用 vue-router
    安装vue-routerpnpmivue-router使用vue-router创建自己的router//@/route/index.tsimport{createRouter,createWebHashHistory}from'vue-router'importtype{RouteRecordRaw}from"vue-router"constroutes:RouteRecordRaw[]=[{......
  • vue3+vite+ elementplus项目部署到gitee pages并发布
    1.在gitee上新建仓库命名:demo-vite-vue32.把新建的仓库克隆到本地3.在本地的master分支编写代码并上传把分支定位在master分支上通过git工具把本地完成的代码上传到gitee的demo-vite-vue3仓库中去gitpullgitadd.gitcommit-m"提交代......
  • Vue3 appear 失效 如何使用 appear
    最近在学习vue3的动画时遇到appear 无法生效的问题问题的具体表现:看以下代码,按理应该来说,如果我们设置fuct-appear-from,fuct-appea-active后在元素初始出现时应该会有一个效果html<Transitionname="fuct"appear><divclass="doc"v-if="show"></div></Trans......
  • Uniapp学习笔记(vue3)
    https://uniapp.dcloud.net.cn/使用Vue.js开发所有前端应用的框架开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/飞书/QQ/快手/钉钉/淘宝)、快应用等多个平台。周边生态丰富发送请求 methods:{ getMsg(msg){ ......
  • 使用vite创建vue3项目
    vite是一种新型前端构建工具,能够显著提升前端开发体验,它主要由两部分组成;一个开发服务器,它基于 原生ES模块 提供了 丰富的内建功能,如速度快到惊人的 模块热更新(HMR)。一套构建指令,它使用 Rollup 打包你的代码,并且它是预配置的,可输出用于生产环境的高度优化过的静态资......