vue.js之使用Vue CLI3开发多页面应用-路由理解

测试项目有3块路由,如下图

在src目录下的router.js

import Vue from ‘vue‘
import VueRouter from ‘vue-router‘

Vue.use(VueRouter)

const routes = [
    {
        path: ‘/‘, name: ‘Login‘, component: r => {
            require([‘./components/Login‘], r)
        }, meta: {title: ‘Login‘}
    }
    ,{
        path: ‘/HelloWorld‘, name: ‘HelloWorld‘, component: r => {
            require([‘./components/HelloWorld‘], r)
        }, meta: {title: ‘HelloWorld‘}
    }
]

export default new VueRouter({
    routes: routes
})

src下的main.js

import Vue from ‘vue‘
import App from ‘./App.vue‘
import router from ‘./router‘

Vue.config.productionTip = false

Vue.use(require(‘vue-wechat-title‘))

new Vue({
  router,
  render: h => h(App),
}).$mount(‘#app‘)

src下的App.vue

<template>
  <div id="app"  v-wechat-title="$route.meta.title">
<!--        <HelloWorld msg="Welcome to Your Vue.js App"/>-->
      <router-view></router-view>
      </div>

</template>
<script src="/js/libs/layer/layer.js"></script>

<script>

// import HelloWorld from ‘./components/HelloWorld.vue‘
export default {
  name: ‘app‘,
  components: {
    // HelloWorld
  }
  ,mounted() {
      this.init();
  }
   ,methods:{
        init:function(){
            layui.use(‘upload‘, function(){
                var upload = layui.upload;
                //执行实例
                var uploadInst = upload.render({
                    elem: ‘#test1‘ //绑定元素
                    ,url: ‘/upload/‘ //上传接口
                    ,done: function(res){
                        //上传完毕回调
                    }
                    ,error: function(){
                        //请求异常回调
                    }
                });
            });
        }
        ,loginV:function () {
            window.location.href="/console.html";
        }
  }
}
</script>
<style>
#app {
  font-family: ‘Avenir‘, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

其他两块跟这个类似,关键代码在vue.config.js

module.exports = {
    pages: {
        // console: {
        //     // 应用入口配置,相当于单页面应用的main.js,必需项
        //     entry: ‘src/modules/console/console.js‘,
        //
        //     // 应用的模版,相当于单页面应用的public/index.html,可选项,省略时默认与模块名一致
        //     template: ‘public/console.html‘,
        //
        //     // 编译后在dist目录的输出文件名,可选项,省略时默认与模块名一致
        //     filename: ‘console.html‘,
        //
        //     // 标题,可选项,一般情况不使用,通常是在路由切换时设置title
        //     // 需要注意的是使用title属性template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
        //     // title: ‘console page‘,
        //
        //     // 包含的模块,可选项
        //     chunks: [‘console‘]
        // },
        // 只有entry属性时,直接用字符串表示模块入口
        console: ‘src/modules/console/console.js‘
        ,client: ‘src/modules/client/client.js‘
        // ,index:"src/main.js"
    }
}

如果不设置,或者不存在改文件,则访问路径一般是  url / # / Index ....

如果存在改文件,则访问方式类似   url/client#/Index...,如下图

我在该处没有设置main.js,则默认为第一种方式,console和client设置了,则访问方式为第二种

在页面中,我们的template 里仍然可以用 <router-view></router-view> 标签去获取路由对应的模块

当然vue.config.js 还可以有其他设置,用到了再进行完善吧

原文地址:https://www.cnblogs.com/mafy/p/12186501.html

时间: 2024-08-01 15:36:59

vue.js之使用Vue CLI3开发多页面应用-路由理解的相关文章

vue.js拓展篇(10):测试开发与调试

内容 第15章:测试开发与调试 任何实际项目的开发,除了功能性代码的完成,规范的开发流程和严谨的测试都是不可或缺的.合理使用工具将事半功倍. 1.ESLint ESLint是Lint语法检查工具,避免的低级的bug和不统一的代码风格.它比JSLint好的地方是可配置.细粒度的,每一条规则都是一个插件.4 ESLint的项目配置有两种基本方法: 第一种,JS注解的方式将配置信息直接加到文件里. 第二种,package.json { "env":{ "browser":

前端框架Vue.js——vue-i18n ,vue项目中如何实现国际化

每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 一.前言 趁着10月的最后一天,来写一篇关于前端国际化的实践型博客.国际化应该都不陌生,就是一个网站.应用可以实现语言的切换. 在这就不谈原理,只说说如何实现中英文的切换.做技术的总得先把 demo 做出来嘛. 二.demo 场景需求分析 需求很简单,左上角 ''网易云音乐''就是一个中英文切换的按钮,点击弹出提示框,确认切换语言后,实现英文版本. 切换成英文版本: 三.实现国际化

为什么手机wap端都喜欢用VUE.js框架?Vue框架特点

Vue.js是一个轻巧.高性能.可组件化的MVVM库,同时拥有非常容易上手的API: ? ?Vue.js是一个构建数据驱动的Web界面的库. ? ?Vue.js是一套构建用户界面的 渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合.另一方面,Vue 完全有能力驱动采用单文件组件和 Vue 生态系统支持的库开发的复杂单页应用.数据驱动+组件化的前端开发. 简而言之:Vue.js是一个构建数据驱动

vue.js之使用Vue CLI3开发多页面应用-vue文件引入本地js

新手学vue的时候,一般把静态资源放在和页面一个文件夹下,即public下面 但是在html页面引入js的时候,在vue文件里没办法调用,这时候需要在vue文件引入改js,如果用import则不好使,可以使用 <script src="/js/libs/layer/layer.js"></script> 的方式,比如我引入layer.js,如下图 这个时候,layer.msg正常使用 原文地址:https://www.cnblogs.com/mafy/p/121

前端开发之走进Vue.js

Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作. 文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止.有兴趣的同学可以查看相应的文档进行了解. Vue.js简介 从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和jQuery最大的

vue,js基础知识

Vue.js是一套构建用户界面(view)的MVVM框架.Vue.js的核心库只关注视图层,并且非常容易学习,非常容易与其他库或已有的项目整合. 1.1 Vue.js的目的 Vue.js的产生核心是为了解决如下三个问题: 解决数据绑定的问题: Vue.js框架生产的主要目的是为了开发大兴单页面应用(SPA:Single Page Application) Angular.js中对PC端支持的比较良好,但是对移动端支持就一般.而Vue.js主要支持移动端,也支持PC端. 3. 它还支持组件化.也就

使用Vue.js制作仿Metronic高级表格(一)静态设计

Metronic高级表格是Metonic框架中自行实现的表格,其底层是Datatables,本教程将主要使用Vue实现交互部分,使用Bootstrap做样式库,jQuery做部分用户交互(弹窗). 使用到的库:Vue 2.0,Bootstrap3.jQuery2.font-awesome4,均可在CDN下载 需要注意的是,Vue最好使用开发版本 一.需求和原型设计 产品目标是一个图书管理表格,书籍字段:书籍名称.分类.价格.更新时间. 需求: ① 书籍信息的增删改 ② 分页功能,并且能自行选择

Vue.js——60分钟组件快速入门(下篇)

概述 上一篇我们重点介绍了组件的创建.注册和使用,熟练这几个步骤将有助于深入组件的开发.另外,在子组件中定义props,可以让父组件的数据传递下来,这就好比子组件告诉父组件:"嘿,老哥,我开通了一个驿站,你把东西放到驿站我就可以拿到了." 今天我们将着重介绍slot和父子组件之间的访问和通信,slot是一个非常有用的东西,它相当于一个内容插槽,它是我们重用组件的基础.Vue的事件系统独立于原生的DOM事件,它用于组件之间的通信. 本文的主要内容如下: 组件的编译作用域 在组件templ

走进Vue.js

走进Vue.js Vue.js作为目前最热门最具前景的前端框架之一,其提供了一种帮助我们快速构建并开发前端项目的新的思维模式.本文旨在帮助大家认识Vue.js,了解Vue.js的开发流程,并进一步理解如何通过Vue.js来构建一个中大型的前端项目,同时做好相应的部署与优化工作. 文章将以PPT图片附加文字介绍的形式展开,不会涉及知识点的具体代码,点到为止.有兴趣的同学可以查看相应的文档进行了解. Vue.js简介 从上图的介绍中我们不难发现Vue.js是一款轻量级的以数据驱动的前端JS框架,其和