vue笔记
  sxyEawIGDIPC 2023年11月02日 24 0

一、vue项目vscode自动import,VUE组件和ts模块

1、在vscode插件市场安装volar插件

vue笔记_json

2、修改tsconfig.json文件

moduleResolution改为node

vue笔记_json_02

3、重启vscode,后面再下代码就可以自动import了。


二、vue项目中使用elementplus

参考elementplus官网:https://element-plus.org/zh-CN/guide/design.html

1、为项目安装elementplus

先进入项目的根目录,然后打开命令输入一下命令安装element-plus

npm install element-plus --save

2、安装按需引入插件

npm install -D unplugin-vue-components unplugin-auto-import

安装这两个插件的目的是为了在后续使用elemntplus的过程中按需导入elementplus的组件,只有使用了对应的组件才将这个主键导入到项目中来。这也是elementplus官方推荐的方式。

然后修改vite.config.ts,在plugins加入AutoImport,Components,然后就可以使用elementplus了,详细配置如下

// vite.config.ts
import { defineConfig } from 'vite'
import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'

export default defineConfig({
  // ...
  plugins: [
    // ...
    AutoImport({
      resolvers: [ElementPlusResolver()],
    }),
    Components({
      resolvers: [ElementPlusResolver()],
    }),
  ],
})

3、main.ts引入element-plus样式

需要再main.ts引入element-plus样式,否则ElMessage等组件无法弹出

import 'element-plus/dist/index.css'

vue笔记_json_03

三、vue中使用unocss

官网参考:https://unocss.dev/integrations/

1、安装unocss

npm install -D unocss

2、修改vite.config.ts引入unocss插件 如下

// vite.config.ts
import UnoCSS from 'unocss/vite'
import { defineConfig } from 'vite'

export default defineConfig({
  plugins: [
    UnoCSS(),
  ],
})

3、在项目更目录下创建uno.config.ts文件,用于配置unocss


// uno.config.ts
import { defineConfig } from 'unocss'
import presetIcons from '@unocss/preset-icons'
import presetWind from '@unocss/preset-wind'
export default defineConfig({
    presets: [    
        presetIcons(),    //图标插件
        presetWind(),     //Tailwind的css预设库
    ],  
})

4、Unocss使用iconify-json图标库

1、打开官方选择自己想要的图标集

iconify图标库官网:https://iconify.design/

vue笔记_重启_04

vue笔记_json_05

2、安装图标集

点击进入想要安装的图标集,然后点击任意图标,查看图集名称,这里以Google Material Icons为列。

vue笔记_重启_06

vue笔记_重启_07

选择好图标后网页向下滚动

vue笔记_json_08

vue笔记_json_09

安装图标集

npm i -D @iconify-json/ic

3、使用图标

vue笔记_json_10

找到图标名称,在图标名称前加i-作为class类名,这里的类名为 i-ic:baseline-5g

项目中使用图标

<div class="i-ic:baseline-5g"></div>

vue笔记_重启_11

查看效果

vue笔记_json_12

4、如果图标不显示,在使用图标文件的第一行加入 // @unocss-include,双斜杠要有。

// @unocss-include
// 加上上面这段,可以让 unocss 引擎,识别本页里的 icon 图标样式


四、用@符代替./src

1、安装两个插件

npm install path
npm install @types/node

2. 找到项目的vite.config.ts文件

import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import path from "path"
// https://vitejs.dev/config/
export default defineConfig({
    plugins: [vue()],
    resolve: {
        // Vite路径别名配置
        alias: {
            '@': path.resolve('./src')
        }
    }
})

3、编译项目

npm run dev

4、Cannot find module '@/router/routes.ts' or its corresponding type declarations.ts(2307)如何解决

vue笔记_重启_13

去除.ts后缀就不会报错了

vue笔记_json_14

五、vite配置代理服务解决跨域问题

原理说明

需要有一段特定的路径用来标识请求是需要通过代理服务发起请求,当浏览器向vite前端服务器发送请求包含这段特定的路径时,vite服务器收到这段含有特定路径的请求时就会用代理服务配置中的target的地址替换请求中服务器地址,通过代理服务向真正的服务器发送请求。本例中的特的路径是 /mqttgateway,这段路径是目标服务器所包含的路径所以不需要rewrite,如果要是前端自己加的特殊标识路径,而目标服定务器是没有这个路径的就需要通过rewrite去除。

1、本例是通过axios发送请求的,将baseURL配置成特定路径 、/mqttgateway

vue笔记_json_15

2、在vite.config.ts配置代理

server:{
      // port:8888,//前端服务器的端口
      // open:true,//项目启动是否自动通过浏览器打开
      //前端跨域配置
      proxy:{
        '/mqttgateway':{//请求路径函有'/mqttgateway'用vite的代理服务向后台送请求,避免跨域问题
          target:'http://127.0.0.1:8080/',//实际请求地址,目标服务器地址
          changeOrigin:true,
          /*重写路径,如果值前端自己加的用于标识跨域的路径而后端实际没有这段路径,需要用重写路径去除标识的路径
            这里没有额外加标识路径所以就注释了
          */
          //rewrite: (path) => path.replace(/^\/mqttgateway/, ''),
        }
      }
    }

vue笔记_json_16

3、验证是否成功

1、发送请求

vue笔记_重启_17

浏览器发起的请求:http://127.0.0.1:5173/mqttgateway/system/getStatus

vite代理服务发送的请求:http://127.0.0.1:8080/mqttgateway/system/getStatus

目标服务器能处理的请求:http://127.0.0.1:8080/mqttgateway/system/getStatus

2、接收响应

vue笔记_json_18


vue笔记_json_19

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  sX9JkgY3DY86   2023年11月13日   23   0   0 jsonflutterUser
  nQkVcpdWfLDr   2023年11月13日   14   0   0 DesktopSystem重启
  3M67F8YJLxn2   2023年11月13日   65   0   0 重启
sxyEawIGDIPC