Merge pull request #38 from LOG1997/feature-vite

打包为html,直接使用文件打开
This commit is contained in:
LOG1997
2024-12-27 14:47:02 +08:00
committed by GitHub
5 changed files with 1344 additions and 68 deletions

View File

@@ -136,6 +136,14 @@ or
npm run preview npm run preview
``` ```
若想直接以打开html文件的方式运行请执行以下命令进行打包。打包完成后在dist目录中直接打开index.html即可。
```bash
pnpm build:file
or
npm run build:file
```
> 项目思路来源于 <https://github.com/moshang-xc/lottery> > 项目思路来源于 <https://github.com/moshang-xc/lottery>
## License ## License

View File

@@ -8,6 +8,7 @@
"dev": "vite --host 0.0.0.0", "dev": "vite --host 0.0.0.0",
"build": "vue-tsc --noEmit && vite build", "build": "vue-tsc --noEmit && vite build",
"build:pre": "vue-tsc --noEmit && vite build --mode prebuild", "build:pre": "vue-tsc --noEmit && vite build --mode prebuild",
"build:file": "vue-tsc --noEmit && vite build --mode file",
"test": "vitest", "test": "vitest",
"test:ui": "vitest --ui", "test:ui": "vitest --ui",
"preview": "vite preview", "preview": "vite preview",
@@ -47,6 +48,7 @@
"@types/three": "^0.166.0", "@types/three": "^0.166.0",
"@typescript-eslint/eslint-plugin": "^8.16.0", "@typescript-eslint/eslint-plugin": "^8.16.0",
"@typescript-eslint/parser": "^8.16.0", "@typescript-eslint/parser": "^8.16.0",
"@vitejs/plugin-legacy": "^6.0.0",
"@vitejs/plugin-vue": "^5.2.0", "@vitejs/plugin-vue": "^5.2.0",
"@vitest/ui": "^2.1.5", "@vitest/ui": "^2.1.5",
"@vue/test-utils": "^2.4.6", "@vue/test-utils": "^2.4.6",

1389
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
import { createRouter, createWebHistory } from 'vue-router'; import { createRouter, createWebHistory,createWebHashHistory } from 'vue-router';
import Layout from '@/layout/index.vue'; import Layout from '@/layout/index.vue';
import Home from '@/views/Home/index.vue'; import Home from '@/views/Home/index.vue';
export const configRoutes={ export const configRoutes={
@@ -130,9 +130,10 @@ const routes = [
], ],
}, },
]; ];
const envMode=import.meta.env.MODE;
const router = createRouter({ const router = createRouter({
history: createWebHistory(), // 读取环境变量
history: envMode==='file'?createWebHashHistory():createWebHistory(),
routes, routes,
}); });

View File

@@ -10,6 +10,7 @@ import Icons from 'unplugin-icons/vite';
import IconsResolver from 'unplugin-icons/resolver'; import IconsResolver from 'unplugin-icons/resolver';
import { visualizer } from 'rollup-plugin-visualizer'; import { visualizer } from 'rollup-plugin-visualizer';
import viteCompression from 'vite-plugin-compression'; import viteCompression from 'vite-plugin-compression';
import legacy from '@vitejs/plugin-legacy';
// import vueDevTools from 'vite-plugin-vue-devtools' // import vueDevTools from 'vite-plugin-vue-devtools'
// https://vitejs.dev/config/ // https://vitejs.dev/config/
export default defineConfig(({ mode }) => { export default defineConfig(({ mode }) => {
@@ -17,9 +18,12 @@ export default defineConfig(({ mode }) => {
const chunkName = mode == 'prebuild' ? '[name]' : 'chunk'; const chunkName = mode == 'prebuild' ? '[name]' : 'chunk';
return { return {
base:'/log-lottery/', base:mode == 'file'?'./':'/log-lottery/',
plugins: [ plugins: [
vue(), vue(),
mode == 'file'?legacy({
additionalLegacyPolyfills: ['regenerator-runtime/runtime']
}):null,
// vueDevTools(), // vueDevTools(),
viteCompression({ viteCompression({
verbose: true, verbose: true,