import { defineConfig } from "vite"; import { loadEnv } from 'vite'; import copy from 'rollup-plugin-copy'; import vue from "@vitejs/plugin-vue"; import ElementPlus from "unplugin-element-plus/vite"; //import postcsspxtoviewport from 'postcss-px-to-viewport'; import jqueryPlugin from './vite-plugin-jquery'; const { resolve } = require("path"); /** * @type {import('vite').UserConfig} */ export default defineConfig(({ command, mode }) => { let vueI18n = {}; if (command === "serve") { vueI18n["vue-i18n"] = "vue-i18n/dist/vue-i18n.cjs.js"; //解决dev运行警告You are running the esm-bundler build of vue-i18n. } return { plugins: [ vue(), jqueryPlugin(), ElementPlus({ useSource: true, }), copy({ targets: [ // { // src: 'node_modules/@easydarwin/easyplayer/dist/component/EasyPlayer-lib.min.js', // dest: 'public/js' // }, { src: 'node_modules/@liveqing/liveplayer-v3/dist/component/liveplayer-lib.min.js', dest: 'public/js' }, ] }) ], // base: loadEnv(mode, process.cwd()).opendoorUrl, resolve: { alias: { "~/": `${resolve(__dirname, "src")}/`, ...vueI18n, '@': resolve('src'), }, extensions: [ '.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue' ] }, // base: "./", server: { host: "127.0.0.1", // host: "192.168.1.105", port: 8086, open: true, https: false, // 开启https服务 // 反向代理 // proxy: { // "/api": { // target: "http://192.168.100.96:18000/", // changeOrigin: true, // rewrite: (path) => path.replace(/^\/api/, ""), // }, // }, }, css: { preprocessorOptions: { scss: { additionalData: `@use "@/styles/element/index.scss" as *;`, }, }, // postcss: { // plugins: [ // // 需要注意的是,include这个属性,现在是不能用的, // //postcss-px-to-viewport官方虽然更新了文档介绍include的使用方法,但是源码迟迟没有更新, // //所以需要另外再安装一个包,也就是先使用github仓库的代码 // // npm i https://github.com/evrone/postcss-px-to-viewport --save-dev // postcsspxtoviewport({ // // viewportWidth: "1920", //视窗的宽度,对应的是我们设计稿的宽度 // viewportWidth: 1920, //视窗的宽度,对应的是我们设计稿的宽度 // viewportHeight: 968, // 视窗的高度 // //viewportHeight: "750", // 视窗的高度 // unitToConvert: 'px', // 要转化的单位 // // viewportWidth: 750, // UI设计稿的宽度 // unitPrecision: 6, // 转换后的精度,即小数点位数 // propList: ['*'], // 指定转换的css属性的单位,*代表全部css属性的单位都进行转换 // viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认vw // fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw // selectorBlackList: ['ignore-'], // 指定不转换为视窗单位的类名, // minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换 // mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false // replace: true, // 是否转换后直接更换属性值 // // exclude: [/node_modules/], // 设置忽略文件,用正则做目录名匹配 // // exclude: [], // include: [/\/src\/views\/screen\//], //只转换匹配的文件 D:\SKZH\新的科大管控系统后台\brisk-admin-main - pinia\src\views\screen\kqscreen.vue // landscape: false // 是否处理横屏情况 // }) // ] // }, //开发过程中是否启sourcemap devSourcemap: true, }, }; });