12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import { resolve } from 'path'
- import Components from 'unplugin-vue-components/vite'
- import { VantResolver } from 'unplugin-vue-components/resolvers'
- import AutoImport from 'unplugin-auto-import/vite'
- import VueSetupExtend from 'vite-plugin-vue-setup-extend'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- import { VueAmapResolver } from '@vuemap/unplugin-resolver'
- import userConfig from './config'
- import { visualizer } from 'rollup-plugin-visualizer'
- import basicSsl from '@vitejs/plugin-basic-ssl'
- // https://vitejs.dev/config/
- export default defineConfig({
- css: {
- preprocessorOptions: {
- scss: {
- additionalData: `@import "./src/assets/css/vant.scss";`
- }
- }
- },
- server: {
- https: true,
- port: 3003,
- host: '0.0.0.0',
- hmr: true,
- },
- define: {
- 'process.env':
- process.env.NODE_ENV === 'production' ? userConfig.buildEnv : userConfig.devEnv,
- },
- plugins: [
- basicSsl(),
- vue(),
- vueJsx(),
- VueSetupExtend(),
- Components({
- resolvers: [VantResolver(), VueAmapResolver()],
- }),
- AutoImport({
- imports: ['vue', 'vue-router', 'vue-i18n'],
- dts: 'src/auto-import.d.ts',
- resolvers: [VueAmapResolver()],
- }),
- // visualizer({ open: true }),
- ],
- resolve: {
- alias: {
- '@': resolve(__dirname, 'src'),
- '@pages': resolve(__dirname, 'src/pages'),
- '@components': resolve(__dirname, 'src/components'),
- '@layout': resolve(__dirname, 'src/layout'),
- '@api': resolve(__dirname, 'src/api'),
- '@utils': resolve(__dirname, 'src/utils'),
- '@store': resolve(__dirname, 'src/store'),
- '@assets': resolve(__dirname, 'src/assets'),
- '@i18n': resolve(__dirname, 'src/i18n'),
- '@type': resolve(__dirname, 'src/type'),
- },
- },
- build: {
- sourcemap: false,
- cssCodeSplit: true,
- reportCompressedSize: false,
- rollupOptions: {
- output: {
- manualChunks(id) {
- if (id.includes('node_modules') && !id.includes('vant')) {
- return id.toString().split('node_modules/')[1].split('/')[0].toString()
- }
- },
- },
- },
- },
- })
|