代码拉取完成,页面将自动刷新
import vue from '@vitejs/plugin-vue';
import { defineConfig, loadEnv } from 'vite';
import eslintPlugin from 'vite-plugin-eslint';
import stylelint from 'vite-plugin-stylelint';
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { VantResolver } from '@vant/auto-import-resolver';
import pxtovw from 'postcss-px-to-viewport-8-plugin';
import UnoCSS from 'unocss/vite';
import { join } from 'path';
function resolve(dir) {
return join(__dirname, dir); //可以用process.cwd() path.join()和path.resolve()
}
// https://vite.dev/config/
export default defineConfig(({ command, mode }) => {
console.log(command, mode, '00');
const env = loadEnv(mode, process.cwd(), '');
return {
define: {
__APP_ENV__: JSON.stringify(env.APP_ENV)
},
plugins: [
vue(),
UnoCSS(),
AutoImport({
//自动导入第三方库或组件 不需要手动编写import {xxx} from vue
// dts: true, // 如果使用 Typescript,需要设置 dts 为 true 插件会在项目根目录生成类型文件 auto-imports.d.ts ,确保该文件在 tsconfig 中被 include
dts: false,
imports: ['vue', 'vue-router'],
resolvers: [VantResolver()]
}),
Components({
dts: false, // 输出文件,里面都是一些import的组件键值对
dirs: [], //让src/components里的组件不用再手动引入
// 配置需要自动注册的组件
resolvers: [VantResolver()]
}),
// eslint插件配置
eslintPlugin({
include: ['src/**/*.js', 'src/**/*.vue'], // 指定需要检查的文件
exclude: ['node_modules/**', 'dist/**'], // 指定不需要检查的文件
fix: false, // 是否自动修复
cache: true // 是否启用缓存
}),
stylelint({
fix: false,
include: ['src/**/*.vue', 'src/**/*.css'],
exclude: ['node_modules/**', 'dist/**']
})
],
css: {
devSourcemap: true,
postcss: {
plugins: [
pxtovw({
unitToConvert: 'px', // 要转化的单位
viewportWidth: 375, // UI舌尖搞的宽度
unitPrecision: 6, // 转换后的精度,即小数点位数
propList: ['*'], // 指定转换的css属性,*代表全部css属性单位都进行转换
viewportUnit: 'vw', // 指定需要转换成的视窗单位,默认 vw
fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位,默认vw
selectorBlackList: [], // 指定不转换的视窗单位类型
minPixelValue: 1, // 默认值1,小于或等于1px则不进行转换
mediaQuery: true, // 是否在媒体查询的css代码中也进行转换,默认false
// replace: true, // 是否直接更换属性值,而不添加备用属性
exclude: [/^(?!.*node_modules\/vant)(?!.*__uno\.css)/], // 忽略某些文件夹下的文件或特定文件,例如 node_modules 下的文件
// include: undefined, // 如果设置了include,那将只有匹配到的文件才会被转换
landscape: false // 是否处理横屏情况
})
]
}
},
resolve: {
alias: {
'@': resolve('/src'),
'#': resolve('/types')
}
}
};
});
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。