vue3搭建多页面应用的方法

article/2025/9/10 16:02:38
  1. 生成vue3的项目
vue create pagesdemo

2.在src文件中添加pages文件夹,同时删除app.vue main.js 在pages下添加项目文件夹,里面的目录结构和 原src一致。如下图

3. 配置vue.config.js

vue-cli提供了pags参数,可以使用这个参数进行多页面配置,不过我们希望自动引入pages下的所有项目就要重新提供一个方法,获取pages下的文件夹名称和webpack的入口。

const path = require('path')
const fs = require('fs')
function getPages (pageName) {const map = {}if (!pageName) {const PAGE_PATH = path.resolve(__dirname, './src/pages')const entryFiles = fs.readdirSync(PAGE_PATH)entryFiles.forEach(filePath => {map[filePath] = {entry: 'src/pages/' + filePath + '/main.js',template: 'public/index.html',filename: filePath + '/' + filePath + '.html',chunks: ['chunk-vendors', 'chunk-common', filePath]}})return map}// 指定单页面打包map[pageName] = {entry: 'src/pages/' + pageName + '/main.js',template: 'public/index.html',filename: pageName + '/' + pageName + '.html',chunks: ['chunk-vendors', 'chunk-common', pageName]}return map
}
console.log(process.env.NODE_ENV)
const rawArgv = process.argv.slice(2)
const [, , moduleName] = rawArgv
const pages = getPages(moduleName)
module.exports = {pages: pages,outputDir: 'dist',assetsDir: 'common',productionSourceMap: false, // 打包不生成mapchainWebpack: config => {config.output.filename(() => {return '[name]/js/[name].js'})config.plugin('extract-css').tap(options => {options[0].filename = '[name]/css/[name].[hash:8].css'return options})// 使用splitChunks抽离公用代码config.optimization.splitChunks({cacheGroups: {common: {name: 'chunk-common', // 打包后的文件名chunks: 'initial', //minChunks: 2,maxInitialRequests: 5,minSize: 0,priority: 1,reuseExistingChunk: true},vendors: {name: 'chunk-vendors',test: /[\\/]node_modules[\\/]/,chunks: 'initial',priority: 2,reuseExistingChunk: true,enforce: true}}})},configureWebpack: {},css: {extract: true,requireModuleExtension: true,sourceMap: false}
}

上面getPages 方法生成的pages如下

{client: {entry: 'src/pages/client/main.js',template: 'public/index.html',filename: 'client/client.html',chunks: [ 'chunk-vendors', 'chunk-common', 'client' ]},console: {entry: 'src/pages/console/main.js',template: 'public/index.html',filename: 'console/console.html',chunks: [ 'chunk-vendors', 'chunk-common', 'console' ]}
}

 4.运行项目  yarn serve

http://localhost:8080/console.html

http://localhost:8080/client.html

查看效果。


http://chatgpt.dhexx.cn/article/6opN3aO8.shtml

相关文章

vue实现多页面应用开发,包含项目之间跳转

需求:在一个vue项目工程下,需要部署两个项目甚至多个项目。 实现思路: 第一步:在vue.config.js文件中配置两个项目的入口 module.exports {pages: {// index页面是必须的,作为主项目的入口页面index: {entry: ./sr…

vue3配置多页面

先说下项目需求,地址栏中更换,不同地址进入页面不同,类似路由,以下为两个地址 简而言之,就是在不配置路由的情况下,输入admin和membe会进入管理端页面和会员端页面, 分析需求之后可以使用vue配…

构建多页vue应用

目录 1. 初始化2. 编写页面内容3. 配置多页入口总结 一般来说,vue推荐构建单页应用,页面内容的切换是通过路由控制组件的替换来实现的。单页应用使得页面跳转变得极为迅速,不过假如两个页面在功能逻辑上是完全独立的,甚至可能需要…

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组…