1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- import vue from '@vitejs/plugin-vue'; //提供 Vue 3 单文件组件支持
- import OptimizationPersist from "vite-plugin-optimize-persist";
- import PkgConfig from "vite-plugin-package-config";
- import path from 'path';
- import {
- defineConfig
- } from 'vite';
- // import postCssPxToRem from "postcss-pxtorem";
- // https://vitejs.dev/config/
- export default defineConfig({
- plugins: [vue()],
- plugins: [
- vue(),
- PkgConfig(),
- OptimizationPersist()
- ],
- // 部署生产环境和开发环境下的URL。
- // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.ruoyi.vip/。
- // 如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。
- // base: './',
- base: './',
- resolve: {
- alias: {
- // 设置别名
- '@': path.resolve(__dirname, './src')
- },
- //导入时想要省略的扩展名列表
- extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json']
- },
- /* 全局变量 */
- css: {
- // 指定传递给 CSS 预处理器的选项
- preprocessorOptions: {
- scss: {
- additionalData: '@use "@/assets/styles/variables.scss" as *;'
- },
- },
- // postcss: {
- // plugins: [
- // postCssPxToRem({
- // rootValue: 192, // (设计稿/10)1rem的大小
- // propList: ['*'], // 需要转换的属性,这里选择全部都进行转换
- // })
- // ]
- // }
- },
- /* 服务器配置 */
- server: {
- /* 端口 */
- port: 3000,
- /* 地址 */
- host: "0.0.0.0",
- /* 编译后是否打开浏览器 */
- open: true,
- /* 是否开启https */
- https: false,
- },
- /* 打包配置 */
- build: {
- /**
- * 设置最终构建的浏览器兼容目标。默认值是一个 Vite 特有的值——'modules',这是指 支持原生 ES 模块的浏览器。
- */
- target: 'modules',
- /**
- * 指定输出路径(相对于 项目根目录).
- * @default 'dist'
- */
- outDir: "dist",
- /**
- * 启用/禁用 CSS 代码拆分
- */
- cssCodeSplit: true,
- /**
- * 混淆器,terser构建后文件体积更小
- */
- minify: 'terser', // 混淆器,terser构建后文件体积更小
- chunkSizeWarningLimit: 4500,
- rollupOptions: {
- output: {
- manualChunks(id) {
- if (id.includes('node_modules')) {
- return id.toString().split('node_modules/')[1].split('/')[0].toString();
- }
- }
- }
- }
- },
- })
|