构建多页vue应用

article/2025/9/10 16:38:37

目录

    • 1. 初始化
    • 2. 编写页面内容
    • 3. 配置多页入口
    • 总结

一般来说,vue推荐构建单页应用,页面内容的切换是通过路由控制组件的替换来实现的。单页应用使得页面跳转变得极为迅速,不过假如两个页面在功能逻辑上是完全独立的,甚至可能需要部署到不同的服务上,这时候将其构建为多页应用可能是更好的选择。

下面我们来看如何将一个单页vue应用改造为一个多页应用。为了方便,我们直接从vue-cli构建的初始化项目开始改造,已有项目的改造方案也是类似的。下面是改造过程:

1. 初始化

首先我们应该先初始化一个单页应用,我们使用vue-cli进行初始化。

npm install vue vue-cli -g
// 进入要创建项目的目录
vue create multiple-page-app

接下来一直回车即可。最终我们将得到一个简单的初始vue应用,这是一个单页应用。我们需要先安装项目依赖:

npm install

接下来在根目录下新建vue.config.js文件,它是vue默认的配置文件。现在项目的结构看起来大概是这样的:
在这里插入图片描述

2. 编写页面内容

既然是多页应用,那么必然有多个打包入口。之前的src文件夹大概是这样的:
在这里插入图片描述
熟悉vue项目的同学应该知道,这个main.js就是单页应用的打包入口。assetsAPP.vuecomponents都是以main.js为入口所构建的依赖关系图的一部分。换句话说,webpack以main.js为起点,根据依赖关系串起了其他文件,形成了页面结构。我们暂且把这组文件称为一个逻辑单元。

很容易想到,多页应用的每一个页面都应该有这样一组逻辑单元。

为了便于管理,我们在src下面新建一个pages文件夹,用于管理每个页面。假设我们有三个页面page1,page2,page3,那么pages下面就应该有三个文件夹:
在这里插入图片描述
这里的每个页面都应该有上面那样的逻辑单元,因此我们直接把components、APP.vue和main.js复制粘贴到这三个文件夹下面,然后删掉src目录下的这几个文件(我们保留了src下的assets,方便多个页面引用同一组静态资源)。现在每个页面内的结构大概都是这样的:
在这里插入图片描述
现在我们已经拥有了三个打包入口(page1、page2和page3下的main.js),我们可以在这三个文件夹下分别编写该页面的逻辑了。

注意,尽管我们把应用拆分成了多页的,但并不需要把所有的资源都复制三份,因为这些页面处在同一个项目下,它们可以引用相同的共享资源。比如我们有一个工具类:appUtil,我们可以把它放在src文件夹下,然后三个页面都可以引用:

src|-- pages|-- page1|-- components|-- APP.vue|-- main.js|-- page2|-- components|-- APP.vue|-- main.js|-- page3|-- components|-- APP.vue|-- main.js|-- util|-- appUtil.js

当在某个页面需要引用appUtil.js时可以这样写:

// 假设已经在vue.config.js为src配置了别名
import appUtil from '@/util/appUtil.js';

同理,项目配置、静态资源、公共类也都可以放在src下供多个页面使用。

如果需要使用vuex和vue-router,应该在各个页面内分别建对应的文件,因为这些资源是页面相关的,不能跨页面共享。

3. 配置多页入口

创建了多个打包入口之后,接下来需要去vue.config.js中修改对应的配置:

module.exports = {chainWebpack: (config) => {// 给src设置别名:@config.resolve.alias.set('@', resolve('src'));},pages: {page1: {entry: 'src/pages/page1/main.js',template: 'public/index.html',fileName: 'page1.html'},page2: {entry: 'src/pages/page2/main.js',template: 'public/index.html',fileName: 'page2.html'},page3: {entry: 'src/pages/page3/main.js',template: 'public/index.html',fileName: 'page3.html'}}
}

现在我们为webpack指定了三个打包入口。

当执行npm run build时,webpack会分别以这三个main.js为入口,构建独立的依赖关系图,然后以index.html为模板,在dist文件夹下生成三个HTML页面:page1.html、page2.html、page3.html。三个文件依赖的js全部被放在dist/js文件夹下,css则被放在dist/css文件夹下。

将dist添加到静态服务器,即可分别访问这三个页面了。

总结

将vue改造为多页应用并不复杂。如果需要改造一个已经成型的项目,也只需要按照上述过程,在src下新建多个目录,为每个目录都新建main.js入口文件,然后以该文件为入口,去实现页面逻辑。构建完毕后,去vue.config.js配置一下打包入口,再执行构建即可构建出多页面了。


http://chatgpt.dhexx.cn/article/Omtqgnd9.shtml

相关文章

vue配置多页面应用

第一步:使用vue-cli搭建项目(注:建议安装淘宝镜像,使用cnpm执行下面操作) 1.按住shift按钮,右键点击存放项目的文件夹,点击在此处打开命令窗口。 2.在命令窗口中输入 npm install -g vue-cli …

vue打包多个html,vue多页面应用打包配置

一直是使用vue官方提供的脚手架工具来做开发单页应用,突发奇想的想做一个多页应用的打包配置,顺便了解一下webpack的使用。花了几天时间搞定之后才发现了这篇文章《进阶| Vue 2.x + Webpack 3.x + Nodejs 多页面项目框架(上篇)》。但还是要记录一下自己搭建的过程。代码地址:…

Vue多页面应用开发

一、前言 我们平常对Vue的印象有这样一种感觉:Vue就像专门为单页面应用(SPA)而生,因为Vue的官方文档中也有这样的描述: 实则非也,因为vue在工程化开发的时候依赖于 webpack ,而webpack是将所有的资源整合…

vue 如何实现多页面应用

众所都知vue是一个单页面应用,但是单页面应用最大的问题,就是首次加载的时候过慢,因为他要把所有的css,js都要下载下来后,才可以加载页面,尤其是移动端,在弱网的情况下,体验感极差 尝…

使用vue搭建多页面多系统应用

一、多页面多系统应用 思路 使用Vue搭建多页应用。所有系统都在同一目录下。配置多入口多出口。每个系统之间可以链接。每个系统内依然采用Vue单页应用开发。组件复用性 可以将所有的系统公共组件放到系统目录最外面,以达到组件复用。在系统内部依然将自己独立的组…

vue多页面应用

vue多页面应用 配置vue多页面,生成的vue项目默认是单页面 单页面和多页面的优缺点: 多页面应用: 一个网址对应一个页面资源   1) 缺点:跳转一个页面都需要重新加载整个页面的资源,页面跳转会刷新!   2)…

网页打印服务器无法创建对象,打印问题,教您怎么解决automation服务器不能创建对象...

打印是我们经常会使用到的,所以要是遇到“automation服务器不能创建对象”的问题,我们得知道怎么解决才能更好地使用打印机。所以现在小编就将我的解决“automation服务器不能创建对象”的方法分享给你们。 什么时候会出现“automation服务器不能创建对象…

MSComDlg.CommonDialog服务器不能创建对象错误的解决

作者:朱金灿 来源:http://blog.csdn.net/clever101 在JavaScript中弹出打开文件对话框,代码如下: var fileOpenDlg new ActiveXObject("MSComDlg.CommonDialog"); 结果出现错误: 解决办法是: 假如是Win…

为什么网站总显示服务器不能创建对象,Win7系统ie浏览器提示“Automation 服务器不能创建对象”如何解决...

在win7系统中,自带有IE浏览器,可以方便用户们浏览网页,可是有些win7 ghost 纯净版系统用户在打开ie浏览器的时候,却提示“Automation 服务器不能创建对象”,该怎么解决这样的问题呢?接下来给大家分享一下Wi…

Centos8 进单用户模式

#开机启动菜单,按键e #找到ro 改为rw init/sysroot/bin/sh ## #按键 Ctrl x 进入 #切换根目录为sysroot chroot /sysroot/

进入单用户模式

进入单用户模式 CentOS 7 进入单用户模式 1、服务器按开机按钮,在进入条出现选择内核系统时,按“e”键,之后使用上下按键进行选择,在按“e”键进入编辑模式 2、进入编辑界面后,快速定位到ro 处(roreadonl…

Centos系统进入单用户模式

Centos系统进入单用户模式 单用户模式有时称为维护模式,是类似Unix的操作系统中的一种模式,在该模式下,系统启动时会启动一些服务以提供基本功能,以使单个超级用户能够执行某些关键任务。 在本教程中,我们将描述如何…

Linux系统CentOS进入单用户模式和救援模式详解

一、概述 目前在运维日常工作中,经常会遇到服务器异常断电、忘记root密码、系统引导文件损坏无法进入系统等等操作系统层面的问题,给运维带来诸多不便,现将上述现象的解决方法和大家分享一下,本次主要以CentOS为例;二…

CentOS 7进入单用户模式修改root密码

第一步:启动系统,按上键或者下键,选择内核,按e进入编辑内核。 第二步:定位到“ro”并把“ro”改成“rw init/sysroot/bin/sh”.完成之后按“Ctrlx”。 第三步:依次输入以下命令进行root密码修改&#xff0c…

linux:单用户模式修改密码

1.开机之后在内核上敲击e,然后编辑选项 2.在linux16这一行,将红框内的内容改成rw rd.break 如果没找到,往下拉 根据提示,使用组合键CTRLX进入密码修改 3.进入到系统的紧急求援模式 4.依次输入以下的命令 5.重启有点慢&#xff…

CentOS的单用户模式

一、介绍 Linux系统下的单用户模式类似于Windows系统的安全模式,这种模式特殊情况下才建议使用,比如:超级管理员的登录密码忘记,无法登陆主机等情况!不过在工作环境中最好还是尽量避免出现要进入这种模式的情况。12 …

Linux如何进入单用户模式?

Linux 7(RHEL 7 / CentOS 7) 启动系统后,会出现下面这种情况,我们按(e)进入grub模式; 进入后,找到linux16开头这样,按“end”键到最后输入rd.break,按ctrlx组…

CentOS7如何进入单用户模式?

centos 7进入单用户模式的方法:首先进入开机界面,按e进行选择;然后找到相关的行,在行尾添加【init/bin/sh】;最后按住【Ctrlx】执行就可以进入单用户模式。 具体步骤: 首先开机进入初始界面 在进入该页面…

记录Linux单用户模式修改密码

很多新手当面对“忘记 root 账户密码导致无法登陆系统”这个问题时,直接选择重新系统。其实大可不必,我只需要进入 emergency mode(单用户模式)更新 root 账户的密码即可。 Linux 的单用户模式有些类似 Windows 的安全模式&#x…

debian linux 进入单用户模式 修复系统,在单用户模式/紧急模式下启动Ubuntu 18.04/Debian 9系统...

单用户模式也称为救援模式,还有一个紧急模式,它们是 Linux 系统在关键时刻需要修复的时候采用的故障排除模式,我们将在 Ubuntu 18.04/Debian 9 系统中启用它,救援模式和紧急模式它们之间的主要区别在于,紧急模式加载了带有只读根文件系统文件系统的最小环境,没有启用任何…