88 lines
2.5 KiB
TypeScript
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";',
|
|
},
|
|
},
|
|
},
|
|
});
|