60c63850ee
- 修复 Redis 超时:添加 commons-pool2 依赖,启用 Lettuce 连接池,超时提升至 15s - 固定 mini-program H5 端口为 5175,避免与 web 项目端口冲突 - 新增人生事件(life-event)模块:表单和详情页面 - 新增 EpicScript 灵感接口(Controller/Service/DTO) - 优化登录、引导、主页、记录、剧本详情等多个页面 - 优化服务管理脚本和 Nginx 配置 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
67 lines
1.9 KiB
JavaScript
67 lines
1.9 KiB
JavaScript
import { defineConfig } from 'vite'
|
|
import { resolve } from 'path'
|
|
import uni from '@dcloudio/vite-plugin-uni'
|
|
|
|
const uniPlugin = uni.default || uni
|
|
|
|
const vueCompatPlugin = () => {
|
|
const virtualId = '\0virtual:vue-compat'
|
|
const publicId = 'virtual:vue-compat'
|
|
return {
|
|
name: 'vue-compat-uni',
|
|
resolveId(id) {
|
|
if (id === publicId) return virtualId
|
|
if (id === 'vue') return virtualId
|
|
return null
|
|
},
|
|
load(id) {
|
|
if (id !== virtualId) return null
|
|
return [
|
|
"import * as VueRuntime from 'vue/dist/vue.runtime.esm-bundler.js'",
|
|
"export * from 'vue/dist/vue.runtime.esm-bundler.js'",
|
|
'export default VueRuntime',
|
|
'export const injectHook = () => {}',
|
|
'export const isInSSRComponentSetup = () => false',
|
|
'export const logError = (err) => { console.error(err) }',
|
|
'export const createVueApp = VueRuntime.createApp',
|
|
'export const onBeforeActivate = () => {}',
|
|
'export const onBeforeDeactivate = () => {}'
|
|
].join('\n')
|
|
}
|
|
}
|
|
}
|
|
|
|
export default defineConfig(({ command }) => {
|
|
const isMpWeixin = process.env.UNI_PLATFORM === 'mp-weixin'
|
|
const inputDir = process.env.UNI_INPUT_DIR || '.'
|
|
const mpEntry = resolve(inputDir, 'main.js')
|
|
const outDir = isMpWeixin
|
|
? (command === 'serve' ? 'unpackage/dist/dev/mp-weixin' : 'unpackage/dist/build/mp-weixin')
|
|
: 'dist'
|
|
return {
|
|
envDir: __dirname,
|
|
publicDir: resolve(__dirname, 'static'),
|
|
server: {
|
|
port: 5175,
|
|
watch: {
|
|
usePolling: true,
|
|
interval: 100
|
|
},
|
|
hmr: true
|
|
},
|
|
resolve: {
|
|
alias: [
|
|
{ find: /^vue$/, replacement: 'virtual:vue-compat' }
|
|
]
|
|
},
|
|
build: {
|
|
outDir,
|
|
emptyOutDir: false,
|
|
rollupOptions: isMpWeixin
|
|
? { input: mpEntry }
|
|
: undefined
|
|
},
|
|
plugins: [vueCompatPlugin(), uniPlugin()]
|
|
}
|
|
})
|