|
|
|
@ -2,7 +2,7 @@ |
|
|
|
import { defineConfig } from 'vite' |
|
|
|
import vue from '@vitejs/plugin-vue' |
|
|
|
import { resolve } from 'path' |
|
|
|
import { readdirSync, writeFileSync } from 'fs' |
|
|
|
import { readdirSync, existsSync, mkdirSync } from 'fs' |
|
|
|
|
|
|
|
function createHTMLFiles() { |
|
|
|
const viewsDir = './src/views/admin' |
|
|
|
@ -13,23 +13,29 @@ function createHTMLFiles() { |
|
|
|
const pageName = file.replace('.vue', '') |
|
|
|
const htmlFileName = `${pageName}.html` |
|
|
|
|
|
|
|
// 在项目根目录创建 HTML 文件
|
|
|
|
// 创建正确的 HTML 内容,使用相对路径
|
|
|
|
const htmlContent = `<!DOCTYPE html>
|
|
|
|
<html lang="zh-CN"> |
|
|
|
<head> |
|
|
|
<meta charset="UTF-8" /> |
|
|
|
<link rel="icon" type="image/svg+xml" href="./vite.svg" /> |
|
|
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" /> |
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
|
|
|
<title>${pageName}</title> |
|
|
|
</head> |
|
|
|
<body> |
|
|
|
<div id="app"></div> |
|
|
|
<script type="module" src="./src/main.js"></script> |
|
|
|
<script type="module" src="/src/main.js"></script> |
|
|
|
</body> |
|
|
|
</html>` |
|
|
|
|
|
|
|
writeFileSync(htmlFileName, htmlContent) |
|
|
|
input[pageName] = resolve(__dirname, htmlFileName) |
|
|
|
// 确保目录存在
|
|
|
|
if (!existsSync('./src')) { |
|
|
|
mkdirSync('./src') |
|
|
|
} |
|
|
|
|
|
|
|
// 将 HTML 文件写入 src 目录
|
|
|
|
writeFileSync(resolve(__dirname, 'src', htmlFileName), htmlContent) |
|
|
|
input[pageName] = resolve(__dirname, 'src', htmlFileName) |
|
|
|
}) |
|
|
|
|
|
|
|
return input |
|
|
|
@ -37,25 +43,27 @@ function createHTMLFiles() { |
|
|
|
|
|
|
|
export default defineConfig({ |
|
|
|
plugins: [vue()], |
|
|
|
// 设置基础路径为相对路径
|
|
|
|
base: './', |
|
|
|
build: { |
|
|
|
rollupOptions: { |
|
|
|
input: { |
|
|
|
// 添加 index.html 作为默认页面
|
|
|
|
index: resolve(__dirname, 'index.html'), |
|
|
|
main: resolve(__dirname, 'index.html'), |
|
|
|
...createHTMLFiles() |
|
|
|
} |
|
|
|
}, |
|
|
|
// 资源文件放在根目录(空字符串)
|
|
|
|
assetsDir: '', |
|
|
|
// 清理输出目录
|
|
|
|
emptyOutDir: true |
|
|
|
emptyOutDir: true, |
|
|
|
// 添加 chunk 大小警告限制
|
|
|
|
chunkSizeWarningLimit: 1000 |
|
|
|
}, |
|
|
|
resolve: { |
|
|
|
alias: { |
|
|
|
'@': resolve(__dirname, 'src') |
|
|
|
} |
|
|
|
}, |
|
|
|
preview: { |
|
|
|
port: 4173, |
|
|
|
host: true, |
|
|
|
// 设置默认打开的页面
|
|
|
|
open: '/landingList.html' |
|
|
|
open: '/landingManagement.html' |
|
|
|
} |
|
|
|
}) |