Vue3 + Vite 搭建多页面编译项目 一种优雅的实现方式 简单实用
- 适用场景: 两个前端项目有很多的公共组件, 公共配置, 相当于Vue2中的Page配置项
- 思路: 通过不同的配置项加载不同的项目入口
- 缺点: 会强制覆盖 develop和product两个编译mode
-
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>%VITE_TITLE%</title>
</head>
<body>
<div id="app"></div>
<script type="module" src="/src/%VITE_MAIN_PATH%-main.ts"></script>
</body>
</html>
-
VITE_TITLE = "移动端"
VITE_MAIN_PATH = "mobile"
VITE_TITLE = "电脑端"
VITE_MAIN_PATH = "pc"
-
import './assets/main.css'
import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'
console.log("this is mobile")
const app = createApp(App)
app.use(createPinia())
app.use(router)
app.mount('#app')
import './assets/main.css'
console.log("this is pc")
-
// 文件: Root: package.json
{
"scripts": {
"dev": "vite --mode pc",
"devm": "vite --mode mobile",
}
}
-
export default defineConfig(({command, mode, ssrBuild}) => {
return {
build: {
outDir: `project-${mode}`,
},
}
});