121 lines
4.6 KiB
JavaScript
121 lines
4.6 KiB
JavaScript
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,
|
||
},
|
||
};
|
||
}); |