1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import { resolve } from 'path'
- import { defineConfig } from 'vite'
- import vue2 from '@vitejs/plugin-vue2'
- // import { visualizer } from 'rollup-plugin-visualizer'
- export default ({ mode }) => {
- return defineConfig({
- base: mode === 'production' ? '/' : '/',
- plugins: [
- vue2(),
- // visualizer({
- // emitFile: true,
- // filename: 'stats.html',
- // }),
- ],
- resolve: {
- alias: {
- '@': resolve(__dirname, 'src'),
- },
- // 官方文档不建议添加.vue, 这里加上是因为不自动忽略的话, src代码里面要改的地方太多了. https://cn.vitejs.dev/config/shared-options.html#resolve-extensions
- extensions: [
- '.mjs',
- '.js',
- '.mts',
- '.ts',
- '.jsx',
- '.tsx',
- '.json',
- '.vue',
- ],
- },
- css: {
- devSourcemap: true,
- preprocessorOptions: {
- scss: {
- additionalData: `@import "/src/styles/variables.scss";`,
- },
- },
- },
- server: {
- // 是否开启 https
- https: false,
- // 端口号
- port: 9876,
- // 监听所有地址
- host: '0.0.0.0',
- // 服务启动时是否自动打开浏览器. 在docker容器里面dev的话, 最好不要打开, 不然无法启动.
- // open: true,
- // 允许跨域
- cors: true,
- // 自定义代理规则
- proxy: {
- '/api': {
- target: 'http://13.55.42.195:10171',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, ''),
- },
- },
- },
- build: {
- // 设置最终构建的浏览器兼容目标
- target: 'es2020',
- // 构建后是否生成 source map 文件
- sourcemap: mode !== 'production',
- // 禁用则将css合并为单文件
- cssCodeSplit: false,
- // chunk 大小警告的限制(以 kbs 为单位)
- chunkSizeWarningLimit: 1000,
- // 启用/禁用 gzip 压缩大小报告
- reportCompressedSize: mode !== 'production',
- rollupOptions: {
- output: {
- manualChunks: {
- element: ['element-ui']
- },
- },
- },
- },
- })
- }
|