123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- import path from 'node:path'
- import process from 'node:process'
- import { loadEnv } from 'vite'
- import type { ConfigEnv, UserConfig } from 'vite'
- import viewport from 'postcss-mobile-forever'
- import autoprefixer from 'autoprefixer'
- import { createVitePlugins } from './build/vite'
- import { exclude, include } from './build/vite/optimize'
- export default ({ mode }: ConfigEnv): UserConfig => {
- const root = process.cwd()
- const env = loadEnv(mode, root)
- return {
- base: env.VITE_APP_PUBLIC_PATH,
- plugins: createVitePlugins(),
- server: {
- host: true,
- port: 3000,
- proxy: {
- '/api': {
- target: '',
- ws: false,
- changeOrigin: true,
- },
- },
- },
- resolve: {
- alias: {
- '~@': path.join(__dirname, './src'),
- '@': path.join(__dirname, './src'),
- '~': path.join(__dirname, './src/assets'),
- },
- },
- css: {
- postcss: {
- plugins: [
- autoprefixer(),
- // https://github.com/wswmsword/postcss-mobile-forever
- viewport({
- appSelector: '#app',
- viewportWidth: 375,
- maxDisplayWidth: 600,
- rootContainingBlockSelectorList: [
- 'van-tabbar',
- 'van-popup',
- ],
- }),
- ],
- },
- },
- build: {
- cssCodeSplit: false,
- chunkSizeWarningLimit: 2048,
- },
- optimizeDeps: { include, exclude },
- }
- }
|