vue签到项目流程笔记

访问时项目整体流程:

  • 1、后端处理
    先是后端的各种处理、然后到后端路由,访问membersign.html时将会转跳到web下的views下的newMemberSign下的Index,然后index引用了dist下的编译后的app.js,进入签到项目的单页入口

  • 2、单页入口app.js
    import加载各种模块引用,然后注册组件

Vue.component("load", load);   //注册小鱼loading
Vue.component("tab-component", tabComponent);//底部切换组件
var app = new Vue({el:'#app',data:…,methods:…,beforeCompile:…})//全局级的主容器组件

其中app里的data储存着主容器的各种变量,methods封装了各种方法
组件即将被初始化时自动调用beforeCompile方法
其中的方法主要是用于初始化手机页面的设置,以及检验是否登录,在客户端还是浏览器登录
之后会执行 (autoLogin)->ajaxList->setRouter->routerConfig(this)//这里的thisapp
其中routerConfig 来自上面的import

import routerConfig from "router";
  • 3、进入路由
    所以执行到js/router.js文件,既然是import来的,所以先看这个JS的入口
export default function (app) \\接收的app来自上面的this,也就是大容器组件app
{
    var router = new Router(); \\入口内注册一个new Router()
    router.on("/index", config.index); \\并用on进行监听hash变化
    router.on . . . . . 

url接收到#/index时,触发router.js上面定义的config对象里面封装的方法

index:function()
    {
        app.currentView = "load";//加载小鱼loading
        require.ensure([], function ()
        {
            Vue.component("index", require('index'));//注册一个index组件,内容来自view/index.vue
            app.currentView = "index";//注册此组件的名字,用于日后切换
            app.setTitle("游币玩乐惠", "分享", app.tcShare);//设置app顶部titel
        }, "index");//编译后的名字为index放到dist文件夹下
    },
  • 4、渲染vue
    上面require('index'),所以进入index.vue

新建时开发流程:

来做一个test试试看
首先进入工作目录D:\Work\TCW\8.Web\TCWireless.Touch.Deal.Web\Script\MemberSign
然后打开配置好的webpack的.bat文件npm_run_build.bat
(如果不能运行,请注意node model)

  • 1、先配置好webpack,打开MemberSign下的webpack.config.js
    设置好新建文件的别名,如:
'test':'view/test' //webpack在require的时候可以直接写test就访问到view下的test.vue文件了

然后运行.bat文件npm_run_build.bat

  • 2、配置路由:src/router.js添加一个router.on,如:
router.on("/test",config.test);

需要页面间穿参数时可以用url,后面加/:,如:

router.on("/test/:tabIndex",config.test);

意思是当别人访问/test时,触发上面config对象里面的test函数
然后我们在config对象里面添加一个test函数

test: function(){
        app.currentView = "load";
        require.ensure([], function ()//写给webpack用的,新的页面
        {
            Vue.component("test", require('test'));//设置一个test组件,加载来自view下的test.vue(webpack设置的)
            app.currentView = "test";//根组件下的属性,用于切换组件
            app.setTitle("历届红人榜");//顶部的名字(封装在app里的方法)
        }, "test");//最后编译为test.js放在dist下
    }

require('test')要调用test.vue文件了嘛,所以我们开始写test.vue

  • 3、写vue文件
    所有的vue文件都有相似的结构
<style lang="sass">
    @import "../css/pxtorem.scss";
      /*sass样式*/
</style>
<template>
      <!-- html结构 -->
</template>
<script>
    module.exports={
       //当前组件内容,结构同vue组件
    }
<script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 Webpack 1.1 概念简介 1.1.1 WebPack是什么 1、一个打包工具 2、一个模块加载工具 3...
    Kevin_Junbaozi阅读 11,747评论 0 16
  • 相关概念 混合开发和前后端分离 混合开发(服务器端渲染) 前后端分离后端提供接口,前端开发界面效果(专注于用户的交...
    他爱在黑暗中漫游阅读 7,876评论 4 45
  • 你好 时间紧迫。(万人考我想恢复名次啊前一千啊) 戴婷同学你很漂亮 做我女朋友吧 回去录指纹就可以一路回去了哈哈...
    pure天阅读 2,695评论 0 0
  • 《css权威指南》 第三版 第一章 CSS和文档 1.CSS(Cascading style sheet),层叠样...
    GunnerAha阅读 4,200评论 0 0
  • 之前听了一节线上关于招聘的课程,直到现在才安静坐下来汇总一下内容。 HR→销售? 课程中提到,HR应该把自己当做一...
    陌霭阅读 1,579评论 0 3