Vue3.0由单页面应用改为多页面开发

1 篇文章 0 订阅
订阅专栏

Vue3.0由单页面应用改为多页面开发


 

一、使用vue cli创建一个单页面应用程序


 

1、在命令行窗口敲如下图命令,输入完成敲回车会自动打开一个vue的管理界面

 
 

2、在管理界面中创建项目

 
选择好配置开始创建。
 
具体可以参考vue cli 的官方文档:
 
 
 
 
 
 

二、导入项目项目开始配置


 

1、使用vue 的相关开发工具导入,导入后的目录结构如下:

 
 
 
 
 
 

三、配置多页面开发(创一个Home页面)


 

1、在views目录下创建一个home页面如图: (目录是可以自己选择的)


 
 
 

 

2、APP.vue


<template>
    <div>
        我的home 页面
        <a href="about.html">abc</a>
    </div>
</template>

<script>
    export default {
        name: "Home"
    }
</script>


<style lang="stylus" rel="stylesheet/stylus">

</style>

 

 
 

3、index.js


import Vue from 'vue'
import Home from './App'
import router from './router'
import '@/plugins/element.js'


// 阻止启动生产消息,常用作指令
Vue.config.productionTip = false


new Vue({
    router,
    render: h => h(Home)


}).$mount('#home')

 

 
 
3、router.js

import Vue from 'vue'
import Router from 'vue-router'


Vue.use(Router)


export default  new Router({
    mode: 'history',
    base: process.env.BASE_URL,
    routes:[


    ]
})

 

 
 
4、在vue.config.js中配置页面   

module.exports = {
    pages: {
        index: {
            entry: 'src/views/home/index.js', // 指定你刚才创建的index.js位置
            template: 'public/index.html',    // 主的htmml页面位置
            filename: 'index.html',
            title: 'home Page'
        }
    }
};

 

注:默认的项目是没有vue.config.js这个文件,这是vue3.0 的特性简化相关配置,如果需要特殊指定则
需要自己创建并进行相关配置。
 
 
 
 
 
 
 

三、配置多页面开发(创一个abou页面)


 

1、在views目录下创建在创建一个about页面如图:


 
 
 

 

2、App.vue


<template>
    <div>
        我的about页面
        <el-button type="primary" @click="goMain"> main</el-button>
        <el-button type="primary" @click="goPage1"> Page1</el-button>
        <el-button type="primary" @click="goPage2"> Page2</el-button>
        <router-view></router-view>
    </div>
</template>


<script>
    export default {
        name: "App.vue",
        methods:{
            goMain(){
                this.$router.push("/")
            },
            goPage1(){
                this.$router.push("/page1")
            },
            goPage2(){
                this.$router.push("/page2")
            }
        }
    }
</script>


<style lang="stylus" rel="stylesheet/stylus">

</style>

 

 

3、index.js


import Vue from 'vue'
import About from './App'
import router from './router'
import '@/plugins/element.js'


// 阻止启动生产消息,常用作指令
Vue.config.productionTip = false


new Vue({
    router,
    render: h => h(About)


}).$mount('#about')

 

 

4、router.js


import Vue from 'vue'
import Router from 'vue-router'
const main1 = () =>import('./page/main1.vue');
const page1 = () =>import('./page/page1.vue');
const page2 = () =>import('./page/page2.vue');


Vue.use(Router)


export default  new Router({
    mode: 'history',
    base: process.env.BASE_URL,
    routes:[
        {
            path:"/",
            name: 'page1',
            component: main1
        },
        {
            path:"/page1",
            name: 'page1',
            component: page1
        },
        {
            path:"/page2",
            name: 'page2',
            component: page2
        }
    ]
})

 

 
 

5、然后在依据上面路由创建3个普通界面,测试路由跳转是否还支持


 
 
 

 

6、创建一个主的html页面


 

 

about.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title><%= htmlWebpackPlugin.options.title %></title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
    </noscript>
        <!--这个id必须指定成 index.js中写的id-->
    <div id="about"></div>
    <!-- built files will be auto injected -->
  </body>
</html>

注: 这里需要注意的一点是,千万不要忘记这个id的配置需要和index.js中的vue指定id一致

 

 

7、在vue.config.js中配置该页面:


module.exports = {
    pages: {
        index: {
            entry: 'src/views/home/index.js',
            template: 'public/index.html',
            filename: 'index.html',
            title: 'home Page'
        },
        about: {
            entry: 'src/views/about/index.js',
            template: 'public/about.html',
            filename: 'about.html',
            title: 'About Page'
        }
    }
};

 


 
 

 

四、使用工具启动项目


 
 
或者使用npm 命令:
npm run serve
 
 
 
 
 

 

五、最终效果


 

1、home 界面

 

2、点击上面abc链接跳转到about页面

 
 

3、点击about页面上的page2,下面路由到page2页面

 
 

六、打包后的会区分开


 
 
 
 
Vue3.0配置多页面应用
03-17
Vue3.0配置多页面应用源码
vue3配置多页面
云霸屏CSDN官方博客
10-13 1231
vue3配置多页面
Vue3 + Vue Router实施单页应用(SPA)实例
最新发布
有我更精彩的博客
08-16 763
单页应用是指网页的整个应用只加载一个 HTML 页面,通过 JavaScript 动态更新页面内容。SPA 让用户在不同页面之间切换时没有明显的重新加载体验,从而提供流畅的用户体验。通过本次实践,我们学习了如何使用 Vue3 和 Vue Router 创建一个简单的单页应用(SPA)。利用 Vue 3 的组合式 API 和 setup 语法糖,使得组件的结构更加清晰,易于维护。单页应用的魅力在于它能够给用户带来流畅的交互体验,并且我们的代码结构也更加 modular 和灵活。
webpack将vue3单页面应用改造成多页面应用
huangfengnt的博客
05-19 1195
webpack将vue3单页面应用改造成多页面应用
Vue3多页面开发
热门推荐
chenhaiy的博客
03-23 1万+
Vue3多页面开发Vue3中,多页面开发的配置比较简单,下面来看一下具体的操作步骤: 1.使用vue创建单页面应用程序 见《Vue3脚手架指南》文章 2.在项目的根目录下创建vue.config.js文件,如果已经创建则忽略 3.在src目录下新建module文件夹,用于存放多页面相关文件 module文件夹下用来存放页面文件,一个页面需要有最少三个文件构成,.html、.js、.vue,所以要创建一个最终的页面,我们需要创建三个文件,在实际开发中,最好根据自己的习惯或者公司的.
Vue3多页面开发实践
一只想躺平却不敢躺平的小菜鸟
11-03 321
Vue3多页面项目打包
vue将单页面改造成多页面应用的方法
10-17
本篇文章将详细介绍如何使用vue-cli将一个现有的单页面应用转化为多页面应用。 首先,我们需要对项目结构进行改造。在改造前,项目可能只有一个`src/main.js`作为入口文件,所有的组件和路由都集中管理。在改造后,...
vue-cli3.0实现一个多页面应用的历奇经历记录总结
10-15
通过以上步骤,我们可以成功地将一个单页面应用改造为多页面应用。在实际开发中,根据项目需求调整和优化配置,确保各个页面的独立性和可维护性。同时,合理地使用全局状态管理和路由管理,可以提高代码复用性和应用...
解决vue单页面应用进入页面加载所有 js 的问题
10-14
Vue.js开发中,单页面应用(SPA)的性能优化是一个关键方面,特别是当应用包含大量JavaScript文件时。默认情况下,Vue项目中的所有组件和页面都会在首次加载时被加载,这可能导致用户等待时间较长,影响用户体验。...
这个项目是基于vue-cli3.0来构建,并且根据需求做了打包多页面应用;能实时的编译打包;
01-24
对于多页面应用(Multiple Page Application, MPAs),在传统的单页面应用(Single Page Application, SPAs)之外,适用于那些需要独立入口文件和HTML页面的项目,比如大型网站。Vue CLI 3.0 提供了对多页面应用的...
vue.js页面开发环境搭建过程
12-09
如果全部放到单页面项目下,又显得有点乱,这时候通过改造 vue-cli 搭建的项目为多页面,就是一个比较好的解决方法。 如何改造单页面 vue.js 项目为多页面项目?下面是这次改造的具体过程。  一、创建单页面 vue.js...
vue-cli3多页面配置demo
10-10
vue-cli3多页面配置demo vue-cli3多页面配置demo vue-cli3多页面配置demo
vite+vue3构建多页应用
失眠时间的博客
10-18 1896
一般情况下,单页路由配置可支持大部分情况。由于领导需要把两个不同项目合并统一入口进入,且登录共用,这个时候需考虑配置多页结构开发啦。以下简单介绍多页配置等相关内容。
vue3-ts-vite:vue 项目 配置 多页面应用
snowball的博客
08-07 8785
Vue是一种单页面应用程序(SPA)框架,这意味着Vue应用程序通常只有一个HTML页面,而在该页面上进行动态的内容更改,而不是每次都加载新的HTML页面。但是,有时候我们需要在同一应用程序中拥有多个独立的页面,每个页面都可以单独处理路由和逻辑。这就是多页面应用(MPA)的概念。在Vue中,实现多页面应用程序的方法是使用Vue的多入口特性,即通过配置多个入口文件来实现。每个入口文件都有自己的路由配置、组件和其他相关资源。
vue-cli3 单页应用修改配置成多页应用
weixin_34248258的博客
05-13 1772
一、 vue.config.js配置多页入口 1. vue.config.js 官网配置参考 const glob = require('glob') const titles = require('./title.js') // 统一配置多页 const pages = {} glob.sync('./src/views/**/main.js').forEach(filePath => ...
Vue.js Cli 3.0 多页面开发案例解析
lllomh的博客
01-01 2529
本文梗概 Vue 是很好用,但是以往的都是单页面应用,这就导致了一些传统的项目移植困难,一些用了 JQ 的插件的等等写法都要改变。也还用专门找到相对于的 Vue 的插件才行,这次的 Cli 3.0 可以在原来项目的基础上直接移植,非常方便。 在本文中,会讲到如下内容: Vue页面的优势与劣势 Cli 3.0 的基本配置 Cli 3.0 多页面的打包上线 Cli 3.0 的目录解析 如何提升构建效率 受众人群:经常用 Vue页面开发的人员,对多页面有兴趣,且实际工作中有需求。老项目想前后端分离,考虑效
Vue3.0页面配置以及实现页面在项目内的跳转
皮的潘的博客
01-10 9815
[Vue.js]Vue3.0页面配置以及实现页面在项目内的跳转 vue.js作为开发框架的三巨头之一,在2019年3月推出3.0版本之后,功能得到了更大的完善。 相较于上一版本冗杂的文件目录,3.0版本的目录显然清爽许多,并且vue.config.js文件将赋予了开发者高度的自由配置权。 回想起使用2.0时候,要更改一个配置需要在好多个配置文件之间来回修改,新版本的vue实在太友好了。 虽然v...
写文章

热门文章

  • BigDecimal 四舍五入的处理 25150
  • Vue3.0由单页面应用改为多页面开发 3335
  • 项目打包公共模块失败【error:repackage failed: Unable to find main class】 3178
  • 简单搭建一个直播服务器 3087
  • 在内网搭建GitBlit中会发现 有两张图片展示不了的解决方法 1674

分类专栏

  • maven 2篇
  • spring cloud 1篇
  • vue 1篇
  • mysql 1篇
  • shell 1篇
  • 直播 1篇
  • Java 4篇
  • java juc 1篇
  • Git 7篇
  • WebService 1篇

最新评论

  • BigDecimal 四舍五入的处理

    吃葡萄,要吐葡萄皮: 感谢指正表情包

  • BigDecimal 四舍五入的处理

    丢了蜡笔小新会哭〆: //结果为: 3.34 BigDecimal b = new BigDecimal("3.335"); b = b.setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println(b);// 结果为: 3.34

  • 在内网搭建GitBlit中会发现 有两张图片展示不了的解决方法

    熊思宇: 奶斯

  • Vue3.0由单页面应用改为多页面开发

    我一个叫海阳的人: 哥,你这语法不是 Vue 2 的吗

  • 在linux编写函数下,在vim编辑器按到了Ctrl + s 直接导致输入任何东西没有反应

    lmw0320: 正解,顶下!

大家在看

  • 动态规划day38|322. 零钱兑换(背包满了吗?最小值怎么表示?)、279. 完全平方数、139. 单词拆分、多重背包要点、背包问题大总结
  • 新手漏洞挖掘经验分享(非常详细)零基础入门到精通,收藏这一篇就够了 1048
  • 文件外发管控的方法有哪些(企业如何管控员工外发的文件)?10个方法详解
  • 语音砸蛋源码 46
  • 窗口管理(Stage模型) 614

最新文章

  • 生成二维码功能
  • 项目打包公共模块失败【error:repackage failed: Unable to find main class】
  • 使用SpringCloud Alibaba - Nacos 作为配置中心
2023年1篇
2022年2篇
2020年10篇
2019年11篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家郑州贵阳玻璃钢造型雕塑小区玻璃钢雕塑设计呈贡玻璃钢雕塑设计制作贵不贵玻璃钢lol雕塑武威商场美陈青海玻璃钢装饰雕塑天津景观玻璃钢雕塑设计东方玻璃钢雕塑工程价格合理宁德企业玻璃钢雕塑河北景观玻璃钢雕塑定做价格江苏水果玻璃钢雕塑市场南宁多彩玻璃钢雕塑保龄球玻璃钢雕塑鹤壁玻璃钢仿铜雕塑加工铸造玻璃钢卡通雕塑设计长沙玻璃钢雕塑现货许昌校园玻璃钢雕塑价格景观玻璃钢雕塑公司 北京山东大型商场美陈供货商雅安玻璃钢景观雕塑阜阳校园玻璃钢雕塑厂家北京市商场美陈价格北海玻璃钢雕塑吴川玻璃钢十二生肖雕塑汇欣模具雕塑玻璃钢芜湖玻璃钢人物雕塑定制六安玻璃钢雕塑销售盐城frp玻璃钢雕塑温州商场美陈报价玻璃钢鹿雕塑哪里好香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化