chore: initial commit
Some checks failed
Synchronize to Gitee / repo-sync (push) Has been cancelled
Typos Checking / Spell Check with Typos (push) Has been cancelled

This commit is contained in:
2026-06-23 11:56:23 +08:00
commit 72e2110987
2883 changed files with 367388 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
import { VantResolver } from '@vant/auto-import-resolver';
import vue from '@vitejs/plugin-vue';
import vueJsx from '@vitejs/plugin-vue-jsx';
import autoprefixer from 'autoprefixer';
import { resolve } from 'path';
import postcssPxtorem from 'postcss-pxtorem';
import tailwindcss from 'tailwindcss';
import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { defineConfig } from 'vite';
import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
import vueSetupExtend from 'vite-plugin-vue-setup-extend';
import svgLoader from 'vite-svg-loader';
export default defineConfig({
base: '/mobile/',
plugins: [
vue(),
vueJsx(),
vueSetupExtend(),
svgLoader({ svgoConfig: {} }),
createSvgIconsPlugin({
// 指定需要缓存的图标文件夹
iconDirs: [resolve(process.cwd(), 'src/assets/svg'), resolve(process.cwd(), 'public/images')], // 与本地储存地址一致
// 指定symbolId格式
symbolId: 'icon-[name]',
}),
AutoImport({
dts: 'src/auto-import.d.ts',
include: [
/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
/\.vue$/,
/\.vue\?vue/, // .vue
],
imports: ['vue'],
resolvers: [VantResolver()],
eslintrc: {
enabled: true,
},
}),
Components({
resolvers: [VantResolver()],
}),
],
resolve: {
alias: [
{
find: '@locale',
replacement: resolve(__dirname, '../src/locale'),
},
{
find: '@',
replacement: resolve(__dirname, '../src'),
},
{
find: 'vue-i18n',
replacement: 'vue-i18n/dist/vue-i18n.esm-bundler.js', // 解决 vue-i18n 依赖包报错
},
{
find: 'vue',
replacement: 'vue/dist/vue.esm-bundler.js', // compile template
},
],
extensions: ['.ts', '.js', '.jsx', '.tsx', '.json', '.vue', '.mjs'],
},
define: {
'process.env': {},
// 定义特性标志
'__VUE_OPTIONS_API__': true,
'__VUE_PROD_DEVTOOLS__': false,
// 设置hydration不匹配详细信息的标志
'__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': true,
},
css: {
postcss: {
plugins: [
postcssPxtorem({
rootValue: 14, // 基准值1rem
propList: ['*'], // 需要转换的属性,`*` 表示所有属性都转换
unitPrecision: 5, // 转换后保留的小数位数
selectorBlackList: ['.no-rem'], // 忽略的选择器,例如 `.no-rem` 类名的样式不会被转换
replace: true, // 替换规则,而不是添加回退
mediaQuery: false, // 是否允许在媒体查询中转换
minPixelValue: 2, // 小于或等于 2px 的值不转换为 rem
}),
tailwindcss(),
autoprefixer(),
],
},
preprocessorOptions: {
less: {
modifyVars: {
hack: `true; @import (reference) "${resolve('src/assets/style/var.less')}";`,
},
javascriptEnabled: true,
},
},
},
});