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/"
  },
相关推荐
kite01212 小时前
浏览器工作原理06 [#]渲染流程(下):HTML、CSS和JavaScript是如何变成页面的
javascript·css·html
крон2 小时前
【Auto.js例程】华为备忘录导出到其他手机
开发语言·javascript·智能手机
coding随想4 小时前
JavaScript ES6 解构:优雅提取数据的艺术
前端·javascript·es6
年老体衰按不动键盘4 小时前
快速部署和启动Vue3项目
java·javascript·vue
灵感__idea4 小时前
JavaScript高级程序设计(第5版):无处不在的集合
前端·javascript·程序员
星辰引路-Lefan5 小时前
深入理解React Hooks的原理与实践
前端·javascript·react.js
江城开朗的豌豆5 小时前
JavaScript篇:函数间的悄悄话:callee和caller的那些事儿
javascript·面试
江城开朗的豌豆5 小时前
JavaScript篇:回调地狱退散!6年老前端教你写出优雅异步代码
前端·javascript·面试
TE-茶叶蛋6 小时前
Vue Fragment vs React Fragment
javascript·vue.js·react.js
Angindem6 小时前
从零搭建uniapp项目
前端·vue.js·uni-app