赞
踩
vite+vue3项目全面支持jsx语法
npm i @vitejs/plugin-vue-jsx -D
import vueJsx from '@vitejs/plugin-vue-jsx'
plugins: [
vueJsx()
]
此插件解决了:使用setup语法糖的时候没办法直接为组件定义name(页面缓存需要name属性)
npm i vite-plugin-vue-setup-extend -D
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
plugins: [
vueSetupExtend ()
]
<script lang="ts" setup name="自定义name">
</script>
让API自动导入;无需import { ref} from 'vue’这样引入了
npm i unplugin-auto-import -D
import AutoImport from 'unplugin-auto-import/vite'
plugins: [
AutoImport({
imports: ['vue', 'vue-router','pinia'], // 自动导入vue、vue-router、pinia相关API
dts: 'src/auto-import.d.ts' // 生成 `auto-import.d.ts` 全局声明
}),
]
<script lang="ts" setup name="自定义name属性">
// onmounted属于vue的 API不需要单独引入了
// import { onMounted } from 'vue'
onMounted(() => {
console.log('===')
})
</script>
静态资源压缩
npm i vite-plugin-compression -D
import viteCompression from 'vite-plugin-compression'
plugins: [
viteCompression({
verbose: true,
disable: false, // 不禁用压缩
deleteOriginFile: false, // 压缩后是否删除原文件
threshold: 10240, // 压缩前最小文件大小
algorithm: 'gzip', // 压缩算法
ext: '.gz' // 文件类型
})
]
打包后的视图文件——生成一个stats.html文件
npm i rollup-plugin-visualizer -D
import {visualizer} from 'rollup-plugin-visualizer'
plugins: [
visualizer({
open:true, //注意这里要设置为true,否则无效
gzipSize:true,
brotliSize:true
}),
]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。