Vite常用插件配置

1.首先npm镜像切换

javascript 复制代码
npm config get registry //查看当前镜像
npm config set registry https://registry.npmjs.org/  //国外 
npm config set registry https://registry.npmmirror.com/ //淘宝

2.环境变量的配置

.env.development的内容如下

javascript 复制代码
VITE_APP_BASE_URL = http://xxx:90/api
NODE_ENV='development'

在vite.config.js使用环境变量的VITE_APP_BASE_URL变量

javascript 复制代码
import { loadEnv } from 'vite'
const env = loadEnv(mode, process.cwd())
console.log(env.VITE_APP_BASE_URL)

server: {
      open: true,
      port: 8081,
      proxy: {
        '/api': {
          target: env.VITE_APP_BASE_URL,
          changeOrigin: true,
          rewrite: (path) => path.replace(/^\/api/, ''),
        },
      },
    },

3.SCSS全局变量

vite.config.js配置

javascript 复制代码
css: {
    preprocessorOptions: {
        scss: {
          additionalData: `@import "${resolve(__dirname, 'src/styles/variables.scss')}";`
        }
   }
}

在其他地方就能只用variables.scss的变量

javascript 复制代码
// 字体颜色
$primary-color: #3498db; // 主色
$secondary-color: #2ecc71; // 次色

4.SVG图标配置

javascript 复制代码
npm install vite-plugin-svg-icons -D

vite.config.js配置

javascript 复制代码
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
plugins: [
      vue(),
      createSvgIconsPlugin({
        iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
        symbolId: 'icon-[name]',
      }),
    ],

在main.js引入

javascript 复制代码
import 'virtual:svg-icons-register'

新建SvgIcon.vue

javascript 复制代码
<template>
  <svg aria-hidden="true">
    <use :href="symbolId" :fill="color" />
  </svg>
</template>

<script>
import { defineComponent, computed } from 'vue'

export default defineComponent({
  name: 'SvgIcon',
  props: {
    prefix: {
      type: String,
      default: 'icon',
    },
    name: {
      type: String,
      required: true,
    },
    color: {
      type: String,
      default: '#333',
    },
  },
  setup(props) {
    const symbolId = computed(() => `#${props.prefix}-${props.name}`)
    return { symbolId }
  },
})
</script>

在组件怎么使用src/assets/icons的图标

javascript 复制代码
<template>
  <div>
    <SvgIcon name="home"></SvgIcon>
  </div>
</template>

<script>
import SvgIcon from '@/components/SvgIcon.vue'
</script>

5.Vite自动导入插件,自动import ref,reactive,computed等

javascript 复制代码
npm install unplugin-auto-import -D

vite.config.js配置

javascript 复制代码
import AutoImport from 'unplugin-auto-import/vite'
plugins: [
      vue(),
      // 自动导入vue变量
      AutoImport({
        imports: ['vue', 'vue-router', 'pinia'],
        dts: false,
      })
    ]

6.prettier配置

javascript 复制代码
npm install prettier -D

新建文件.prettierignore 和 .prettierrc

.prettierrc代码

javascript 复制代码
{
  "printWidth": 120,
  "tabWidth": 2,
  "useTabs": false,
  "semi": false,
  "endOfLine": "auto",
  "singleQuote": true,
  "trailingComma": "all",
  "quoteProps": "as-needed",
  "bracketSpacing": true,
  "arrowParens": "always"
}

在package.json配置自动格式化脚本

javascript 复制代码
 "scripts": {
    "format": "prettier --write src/"
  },
相关推荐
活宝小娜41 分钟前
vue不刷新浏览器更新页面的方法
前端·javascript·vue.js
程序视点44 分钟前
【Vue3新工具】Pinia.js:提升开发效率,更轻量、更高效的状态管理方案!
前端·javascript·vue.js·typescript·vue·ecmascript
coldriversnow1 小时前
在Vue中,vue document.onkeydown 无效
前端·javascript·vue.js
我开心就好o1 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
刚刚好ā2 小时前
js作用域超全介绍--全局作用域、局部作用、块级作用域
前端·javascript·vue.js·vue
yqcoder3 小时前
reactflow 中 useNodesState 模块作用
开发语言·前端·javascript
会发光的猪。4 小时前
css使用弹性盒,让每个子元素平均等分父元素的4/1大小
前端·javascript·vue.js
天下代码客4 小时前
【vue】vue中.sync修饰符如何使用--详细代码对比
前端·javascript·vue.js
周全全5 小时前
Spring Boot + Vue 基于 RSA 的用户身份认证加密机制实现
java·vue.js·spring boot·安全·php
Domain-zhuo5 小时前
什么是JavaScript原型链?
开发语言·前端·javascript·jvm·ecmascript·原型模式