vite+vue2+elementui构建之 vite.config.js

webpack版本太低,构建依赖太多,头大。

各种查阅资料,弄了一份直通构建vite构建elementUi核心文件,

构建基于开源若依vue2+vue3版本改造,感谢开源,感谢若依。

package.json 地址

vite+vue2+elementui构建之 package.json-CSDN博客

vite.config.js

import {defineConfig} from 'vite';
import vue from '@vitejs/plugin-vue2';
import path from 'path'
import autoImport from "unplugin-auto-import/vite"
import createSvgIcon from "./vite/plugins/svg-icon.js";
import vueJsx from '@vitejs/plugin-vue2-jsx';

//https://vitejs.dev/config/
export default defineConfig(({mode, command}) => {
    return {
        base: '/',
        plugins: [
            vue({
                "jsx": true,
            }),
            vueJsx(),
            autoImport({
                imports: [
                    'vue',
                    'vue-router'
                ],
                dts: false
            }),
            createSvgIcon(command === 'build')
        ],
        resolve: {
            // https://cn.vitejs.dev/config/#resolve-alias
            alias: [
                {find: '@', replacement: path.resolve(__dirname, './src')},
                {find: '~', replacement: path.resolve(__dirname, './')},
            ],
            extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue']
        },
        css: {
            preprocessorOptions: {
                scss: {
                    javascriptEnabled: true,
                }
            },
            postcss: {
                plugins: [
                    {
                        postcssPlugin: 'internal:charset-removal',
                        AtRule: {
                            charset: (atRule) => {
                                if (atRule.name === 'charset') {
                                    atRule.remove();
                                }
                            }
                        }
                    }
                ]
            }
        },
        // vite 相关配置
        server: {
            port: 8090,
            host: true,
            open: true,
            proxy: {
                // https://cn.vitejs.dev/config/#server-proxy
                '/api': {
                    target: 'http://localhost:8080',
                    changeOrigin: true,
                    rewrite: (p) => p.replace(/^\/api/, '')
                }
            }
        },
    }
})

createSvgIcon

import {createSvgIconsPlugin} from 'vite-plugin-svg-icons'
import path from 'path'

export default function createSvgIcon(isBuild) {
    return createSvgIconsPlugin({
        iconDirs: [path.resolve(process.cwd(), 'src/assets/icons/svg')],
        symbolId: 'icon-[dir]-[name]',
        svgoOptions: isBuild
    })
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值