58 lines
1.8 KiB
JavaScript
58 lines
1.8 KiB
JavaScript
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: ''
|
||
// }),
|
||
]
|
||
}
|
||
}) |