uniapp-h5/vite.config.js

58 lines
1.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { defineConfig } from 'vite'
import path from 'path';
import fs from 'fs-extra';
import uni from '@dcloudio/vite-plugin-uni'
import UniPages from '@uni-helper/vite-plugin-uni-pages'
import UnoCSS from 'unocss/vite'
import zipPack from "vite-plugin-zip-pack"
import dayjs from "dayjs";
// https://vitejs.dev/config/
import getPages from './build'
const {exclude,staticModule} = getPages();
const timeStringNow = dayjs().format("YYYY-MM-DD HH-mm-ss")
console.log('staticModule',staticModule);
function copyFile() {
return {
enforce: 'post',
async writeBundle() {
await fs.copy(
path.resolve(__dirname,`src/static/ycnc`),
path.join(
__dirname,
'dist',
process.env.NODE_ENV === 'production' ? 'build' : 'dev',
process.env.UNI_PLATFORM,
'static/ycnc'
)
);
},
};
}
export default defineConfig(({ command, mode }) => {
const { UNI_PLATFORM } = process.env // 得到 mp-weixin, h5, app 等
return {
plugins: [
UniPages({
exclude: ['**/components/**/**.*',...exclude],
routeBlockLang: 'json5', // 虽然设了默认值但是vue文件还是要加上 lang="json5", 这样才能很好地格式化
// homePage 通过 vue 文件的 route-block 的type="home"来设定
// pages 目录为 src/pages分包目录不能配置在pages目录下
// subPackages: ['src/pages-sub'], // 是个数组可以配置多个但是不能为pages里面的目录
}),
uni(),
UnoCSS(),
// copyFile(),
// zipPack({
// inDir: `dist/build/${UNI_PLATFORM}`, // 输入的文件夹,就是要打包的文件夹
// outDir: `dist/build`, // 打包好的 zip 文件放到哪个文件夹下
// outFileName: `${UNI_PLATFORM}-${timeStringNow}.zip`, //文件名不能包含\/:*?"<>|
// pathPrefix: ''
// }),
]
}
})