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/"
  },
相关推荐
前端小小王27 分钟前
React Hooks
前端·javascript·react.js
迷途小码农零零发36 分钟前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
娃哈哈哈哈呀1 小时前
vue中的css深度选择器v-deep 配合!important
前端·css·vue.js
真滴book理喻4 小时前
Vue(四)
前端·javascript·vue.js
程序员_三木4 小时前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
不是鱼5 小时前
构建React基础及理解与Vue的区别
前端·vue.js·react.js
开心工作室_kaic6 小时前
springboot476基于vue篮球联盟管理系统(论文+源码)_kaic
前端·javascript·vue.js
川石教育6 小时前
Vue前端开发-缓存优化
前端·javascript·vue.js·缓存·前端框架·vue·数据缓存
搏博6 小时前
使用Vue创建前后端分离项目的过程(前端部分)
前端·javascript·vue.js
isSamle6 小时前
使用Vue+Django开发的旅游路书应用
前端·vue.js·django