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/"
  },
相关推荐
呼叫694534 分钟前
为什么说vue是双向数据流
前端·javascript·vue.js
我命由我1234544 分钟前
CesiumJS 案例 P20:监听鼠标滚轮、监听鼠标左键按下与松开、监听鼠标右键按下与松开、监听鼠标左击落点
开发语言·前端·javascript·前端框架·html·css3·html5
顾辰呀1 小时前
css 文字一行没有放满不进行换行
前端·javascript·css·vue.js·css3
q567315231 小时前
Python 中的字符串匹配算法
android·java·javascript·python·算法
nixiaoge2 小时前
Web前端第二次作业
前端·javascript·css3
安冬的码畜日常2 小时前
【玩转 Postman 接口测试与开发2_005】第六章:Postman 测试脚本的创建(上)
javascript·测试工具·单元测试·postman·bdd·chai
Gavin_9152 小时前
【JavaScript】数组-集合-Map-对象-Class用法一览
开发语言·前端·javascript
毕业设计制作和分享2 小时前
ssm公交车信息管理系统+vue
java·vue.js·spring boot·毕业设计·mybatis
琴~~3 小时前
前端根据后端返回的文本流逐个展示文本内容
前端·javascript·vue
zhaocarbon3 小时前
el-scrollbar 动态更新内容 鼠标滚轮无效
前端·javascript·vue.js