lingxixue-mini-program/vite.config.ts
2026-05-26 17:12:12 +08:00

88 lines
2.5 KiB
TypeScript

import { defineConfig } from 'vite';
import { resolve } from 'path';
import uni from '@dcloudio/vite-plugin-uni';
import tailwindcss from 'tailwindcss';
import autoprefixer from 'autoprefixer';
import rems from 'postcss-rem-to-responsive-pixel';
import { UnifiedViteWeappTailwindcssPlugin as uvwt } from 'weapp-tailwindcss/vite';
import TransformPages from 'uni-read-pages-vite';
// import eslintPlugin from 'vite-plugin-eslint'; //eslint自动检查插件
const isH5 = process.env.UNI_PLATFORM === 'h5';
const isApp = process.env.UNI_PLATFORM === 'app-plus';
const WeappTailwindcssDisabled = isH5 || isApp;
const postcssPlugins = [tailwindcss(), autoprefixer()];
if (!WeappTailwindcssDisabled) {
postcssPlugins.push(
rems({
// 32 意味着 1rem = 32rpx
rootValue: 32,
// 默认所有属性都转化
propList: ['*'],
// 转化的单位,可以变成 px / rpx
transformUnit: 'rpx',
}),
);
}
// https://vitejs.dev/config/
export default defineConfig({
server: {
//跨域配置
host: '0.0.0.0',
port: 5173,
open: true, //是否自动打开浏览器
},
build: {
minify: 'terser',
terserOptions: {
compress: {
drop_console: true,
},
},
rollupOptions: {
output: {
chunkFileNames: 'assets/js/[name]-[hash].js',
entryFileNames: 'assets/js/[name]-[hash].js',
assetFileNames: 'assets/[ext]/[name]-[hash].[ext]',
},
},
// 关闭文件计算
reportCompressedSize: false,
// 关闭生成map文件 可以达到缩小打包体积
sourcemap: false, // 这个生产环境一定要关闭,不然打包的产物会很大
},
// 路径配置
resolve: {
alias: [
{
find: '@',
replacement: resolve(__dirname, 'src'), //配置@ 路径
},
],
},
define: {
ROUTES: new TransformPages().routes, // 注入路由表
},
plugins: [
uni(),
uvwt({
disabled: WeappTailwindcssDisabled,
}),
// eslintPlugin({
// include: ['src/**/*.ts', 'src/**/*.vue', 'src/*.ts', 'src/*.vue'],
// }),
],
css: {
postcss: {
plugins: postcssPlugins,
},
preprocessorOptions: {
scss: {
additionalData: '@import "uniapp-nutui/styles/variables.scss";',
},
},
},
});