1 Star 0 Fork 7

Xsir/vue3最佳实践

forked from 陈俊浩/vue3最佳实践 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
vite.config.ts 2.01 KB
一键复制 编辑 原始数据 按行查看 历史
import {
loadEnv, ConfigEnv, UserConfigExport,
} from 'vite';
import vue from '@vitejs/plugin-vue';
import { resolve } from 'path';
import viteSvgIcons from 'vite-plugin-svg-icons';
import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
const envResolve = (mode: string, env: string) => loadEnv(mode, process.cwd())[env];
export default ({ command, mode }: ConfigEnv): UserConfigExport => {
console.log('🚀 ~ process.env.NODE_ENV ~ 打包路径:', envResolve(mode, 'VITE_APP_BASE_PATH'));
return {
css: {
preprocessorOptions: {
less: {
modifyVars: {
hack: `true; @import (reference) "${resolve('src/assets/style/config.less')}";`,
},
javascriptEnabled: true,
},
},
},
plugins: [
vue(),
viteSvgIcons({
// 配置路径在你的src里的svg存放文件
iconDirs: [resolve(process.cwd(), 'src/assets/icons')],
symbolId: 'icon-[dir]-[name]',
}),
Components({
resolvers: [ElementPlusResolver()],
}),
],
resolve: {
alias: {
'@': resolve(__dirname, 'src'), // 设置 `@` 指向 `src` 目录
'@comp': resolve(__dirname, 'src/components'),
},
},
// base: './', // 设置打包路径
base: process.env.NODE_ENV === 'production' ? envResolve(mode, 'VITE_APP_BASE_PATH') : './', // 设置打包路径
server: {
port: 4000, // 设置服务启动端口号
open: true, // 设置服务启动时是否自动打开浏览器
cors: true, // 允许跨域
hmr: true,
},
build: {
rollupOptions: {
output: {
// eslint-disable-next-line consistent-return
manualChunks(id) {
// 将pinia的全局库实例打包进vendor,避免和页面一起打包造成资源重复引入
if (id.includes(resolve('src/store/index.ts'))) {
return 'vendor';
}
},
},
},
},
};
};
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
JavaScript
1
https://gitee.com/pro_learner/vue3-best-practices.git
git@gitee.com:pro_learner/vue3-best-practices.git
pro_learner
vue3-best-practices
vue3最佳实践
master

搜索帮助