fix: 生产环境加载问题

This commit is contained in:
unanmed 2024-03-07 20:13:07 +08:00
parent c84eebc88c
commit 340d18a1f0
5 changed files with 71 additions and 21 deletions

View File

@ -1,4 +1,3 @@
vite.config.ts
public/project/data.js public/project/data.js
story.md story.md
public/project/floors/*.js public/project/floors/*.js

View File

@ -160,13 +160,13 @@
</div> </div>
<div id="root"></div> <div id="root"></div>
<!-- injection --> <!-- injection -->
<script src='libs/thirdparty/lz-string.min.js'></script> <script nomodule src='libs/thirdparty/lz-string.min.js'></script>
<script src='libs/thirdparty/priority-queue.min.js'></script> <script nomodule src='libs/thirdparty/priority-queue.min.js'></script>
<script src='libs/thirdparty/localforage.min.js'></script> <script nomodule src='libs/thirdparty/localforage.min.js'></script>
<script src='libs/thirdparty/zip.min.js'></script> <script nomodule src='libs/thirdparty/zip.min.js'></script>
<script src="libs/thirdparty/lodash.min.js"></script> <script nomodule src="libs/thirdparty/lodash.min.js"></script>
<script id='dataScript' src='project/data.js'></script> <script nomodule id='dataScript' src='project/data.js'></script>
<script id='mainScript' src='main.js'></script> <script nomodule id='mainScript' src='main.js'></script>
<script src="/src/main.ts" type="module"></script> <script src="/src/main.ts" type="module"></script>
</body> </body>

View File

@ -1,13 +1,53 @@
import { createApp } from 'vue'; import { createApp } from 'vue';
import './game/index';
import './core/index';
import App from './App.vue';
import './styles.less'; import './styles.less';
import 'ant-design-vue/dist/antd.dark.css'; import 'ant-design-vue/dist/antd.dark.less';
export * from './game/system'; export * from './game/system';
const list = [
'libs/thirdparty/lz-string.min.js',
'libs/thirdparty/priority-queue.min.js',
'libs/thirdparty/localforage.min.js',
'libs/thirdparty/zip.min.js',
'project/data.js',
'main.js'
];
load();
async function load() {
await loadJsList(list);
await import('./game/index');
await import('./core/index');
const { default: App } = await import('./App.vue');
createApp(App).mount('#root'); createApp(App).mount('#root');
main.init('play'); main.init('play');
main.listen(); main.listen();
}
function loadJsList(list: string[]) {
return Promise.all(
list.map(v => {
return loadJs(v);
})
);
}
function loadJs(src: string) {
const script = document.createElement('script');
script.src = src;
script.crossOrigin = 'anonymous';
document.body.appendChild(script);
return new Promise<void>(res => {
script.addEventListener(
'load',
() => {
res();
},
{ once: true }
);
});
}

View File

@ -1,5 +1,10 @@
// 部分全局css特效 // 部分全局css特效
html,
body {
background-color: black;
}
#root { #root {
position: fixed; position: fixed;
display: block; display: block;

View File

@ -2,9 +2,9 @@ import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue'; import vue from '@vitejs/plugin-vue';
import legacy from '@vitejs/plugin-legacy'; import legacy from '@vitejs/plugin-legacy';
import components from 'unplugin-vue-components/vite'; import components from 'unplugin-vue-components/vite';
import vuejsx from '@vitejs/plugin-vue-jsx' import vuejsx from '@vitejs/plugin-vue-jsx';
import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers'; import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
import dts from 'vite-plugin-dts' import dts from 'vite-plugin-dts';
import { resolve } from 'path'; import { resolve } from 'path';
// @ts-ignore // @ts-ignore
import postcssPreset from 'postcss-preset-env'; import postcssPreset from 'postcss-preset-env';
@ -16,7 +16,13 @@ export default defineConfig({
plugins: [ plugins: [
vue(), vue(),
vuejsx(), vuejsx(),
components({ resolvers: [AntDesignVueResolver()] }) components({
resolvers: [
AntDesignVueResolver({
importStyle: false
})
]
})
], ],
base: `./`, base: `./`,
resolve: { resolve: {
@ -67,18 +73,18 @@ export default defineConfig({
changeOrigin: true, changeOrigin: true,
rewrite(path) { rewrite(path) {
return './' + path.replace(/^\/all/, ''); return './' + path.replace(/^\/all/, '');
}, }
}, },
'^/forceTem/.*': { '^/forceTem/.*': {
target: FSHOST, target: FSHOST,
changeOrigin: true, changeOrigin: true,
rewrite(path) { rewrite(path) {
return './' + path.replace(/^\/forceTem/, ''); return './' + path.replace(/^\/forceTem/, '');
}, }
} }
}, },
watch: { watch: {
ignored: ['**/public/**'] ignored: ['**/public/**']
}, }
} }
}); });