Vue 3 项目初始化怎么配置多页面应用 MPA 架构

夜雪小哥_3246

夜雪小哥_3246

2026-10-23

133人浏览

原创

vue 3 多页面应用(mpa)需在项目初始化后通过配置实现:vue cli 用 vue.config.js 的 pages 选项定义多入口,vite 则直接放置多个 html 文件并引入对应 js 入口,二者均生成独立 html,跳转用 a 标签。

vue 3 项目初始化怎么配置多页面应用 mpa 架构

Vue 3 项目初始化后配置多页面应用(MPA),核心是利用 Vue CLI 3+ 或 Vite 的多入口能力,不依赖 Vue Router 做全局跳转,而是为每个页面生成独立的 HTML 文件。关键不在“初始化时”就写死多页,而是在脚手架创建后,通过配置文件快速启用 MPA 支持。

用 Vue CLI 3+ 初始化并配置 pages

先确保已安装 Vue CLI:

  • npm install -g @vue/cli(或使用 yarn global add @vue/cli)
  • 执行 vue create my-mpa-app 创建标准 Vue 3 项目(选 TypeScript、Router、Pinia 等按需,不影响 MPA)
  • 进入项目,编辑根目录下的 vue.config.js(若无则新建)

配置示例(定义首页和关于页):

module.exports = {
  pages: {
    index: {
      entry: 'src/pages/index/main.js',
      template: 'public/index.html',
      filename: 'index.html',
      title: '首页'
    },
    about: {
      entry: 'src/pages/about/main.js',
      template: 'public/about.html',
      filename: 'about.html',
      title: '关于我们'
    }
  }
}

注意:template 路径指向 public 下的 HTML 模板;entry 必须是 JS 入口,每个页面需有自己独立的 main.js 和根组件(如 App.vue)。

项目结构要提前规划好

推荐在 src/pages/ 下按页面分目录,避免混杂:

vue-composition-api-best-practices
vue-composition-api-best-practices

Vue 3 组合式 API 与 <script setup> 最佳实践,涵盖代码组织、useXxx 模式、组合式函数设计、Store 集成、响应式优化及功能抽取。</p> </div> <a rel="nofollow" href="/xiazai/skill8748" title="vue-composition-api-best-practices" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> <ul> <li> <font color="#2E8B57">src/pages/index/</font> → <font color="#2E8B57">main.js</font> + <font color="#2E8B57">App.vue</font> </li> <li> <font color="#2E8B57">src/pages/about/</font> → <font color="#2E8B57">main.js</font> + <font color="#2E8B57">App.vue</font> </li> <li> <font color="#2E8B57">public/index.html</font> 和 <font color="#2E8B57">public/about.html</font> 可复用基础结构,仅修改 title 和 id 容器</li> </ul> <p>每个 <font color="#2E8B57">main.js</font> 写法与根目录一致,例如:</p> <pre class="brush:php;toolbar:false;">// src/pages/index/main.js import { createApp } from 'vue' import App from './App.vue' createApp(App).mount('#app')</pre> <h3>用 Vite 初始化并支持多页(更轻量推荐)</h3> <p>Vite 对 MPA 更友好,无需插件即可支持多 HTML 入口:</p> <ul> <li>运行 <font color="#2E8B57">npm create vite@latest</font>,选 Vue + JavaScript/TypeScript</li> <li>在项目根目录直接放多个 HTML 文件(如 <font color="#2E8B57">index.html</font>、<font color="#2E8B57">about.html</font>)</li> <li>每个 HTML 中用绝对路径引入对应入口 JS:<br><font color="#2E8B57"><script type="module" src="/src/pages/index/main.js"></script>

  • 不用改 vite.config.js,默认即支持多 HTML 构建
  • 开发时访问 http://localhost:5173/ 和 http://localhost:5173/about.html 即可分别预览。

    构建与部署注意事项

    打包后每个页面生成独立 HTML,资源自动按页分割:

    • Vue CLI:运行 npm run build,输出 dist/index.html 和 dist/about.html
    • Vite:运行 npm run build,HTML 文件保留在 dist 根目录,JS/CSS 自动注入对应 HTML
    • 部署时确保服务器能正确返回每个 HTML(如 Nginx 配置不要全部 fallback 到 index.html)

    MPA 不需要全局路由守卫,页面间跳转用普通 a 标签即可,例如:关于我们。

    前端入门到VUE实战笔记:立即使用
    在学习笔记中,你将探索 前端 的入门与实战技巧!

    相关文章

    PHP速学视频免费教程(入门到精通)
    PHP速学视频免费教程(入门到精通)

    PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    相关专题

    更多
    python是前端还是后端
    python是前端还是后端

    Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

    2023.08.11

    2603

    5

    前端如何实现即时通讯
    前端如何实现即时通讯

    实现即时通讯的方法有WebSocket、Long Polling、Server-Sent Events、WebRTC等等。详细介绍:1、WebSocket,它可以在客户端和服务器之间建立持久连接,实现实时的双向通信,前端可以使用 WebSocket API来创建WebSocket连接,并通过发送和接收消息来实现即时通讯;2、Long Polling,是一种模拟实时通信的技术等等。

    2023.10.09

    5623

    6

    前端和后端的区别
    前端和后端的区别

    前端关注的是用户界面的设计和交互,而后端则注重数据处理和逻辑控制。想了解更多前端后端的相关内容,可以阅读本专题下面的文章。

    2024.03.19

    6630

    13

    php和前端的关联介绍
    php和前端的关联介绍

    php既可以作为前端语言,也可以作为后端语言。想了解更多php和前端的相关内容,可以阅读本专题下面的文章。

    2024.03.22

    6298

    10

    前端外包工作内容有哪些
    前端外包工作内容有哪些

    前端外包工作内容包括:1. 网站和应用程序开发;2. 用户界面和交互设计;3. 用户体验优化;4. 设计和视觉开发;5. 跨浏览器兼容性;6. 性能优化;7. 维护和更新;8. 项目管理和沟通。想了解更多前端的相关内容,可以阅读本专题下面的文章。

    2024.05.22

    903

    5

    vue2.0和3.0区别
    vue2.0和3.0区别

    vue2.0和3.0区别:vue2的响应式原理是利⽤“Object.defineProperty()”对数据进⾏劫持结合发布订阅模式的⽅式来实现,vue3中使⽤了es6的proxy API对数据代理,实现对数据的监控。本专题为大家提供vue2.0和3.0区别的相关的文章、下载、课程内容,供大家免费下载体验。

    2023.07.17

    1694

    5

    vue3的生命周期有哪些
    vue3的生命周期有哪些

    vue3的生命周期:1、beforecreate;2、created;3、beforemount;4、mounted;5、beforeupdate;6、updated;7、beforedestroy;8、destroyed;9、activated;10、deactivated等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    2024.02.23

    12202

    5

    Vue3组合式API与组件开发实战
    Vue3组合式API与组件开发实战

    本专题讲解 Vue 3 组合式 API 的核心概念与应用技巧,深入分析响应式系统、生命周期管理、组件设计与复用策略。通过完整项目案例,指导前端开发者实现高性能、结构清晰的 Vue 应用,提升开发效率与代码可维护性。

    2026.02.10

    316

    23

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Vue 教程
    Vue 教程

    共42课时 | 17.2万人学习

    国外Web开发全栈课程全集
    国外Web开发全栈课程全集

    共12课时 | 1.4万人学习

    Vue.js 微实战--十天技能课堂
    Vue.js 微实战--十天技能课堂

    共18课时 | 1.7万人学习