zoukankan      html  css  js  c++  java
  • 一个简单的假vue全家桶(vue+vue-router+require)

    首先说明我觉得这是一个比较好理解的vue全家桶(虽然是假的),模块化也是用require来做的,而且如果后期有必要压缩我也会用gulp来做

    1、依赖个个本地模块,require只是用来载入page,这样比较清晰

    <script src="common/vue.js"></script>  //载入vue.js
    <script src="common/vueRouter.js"></script>  //载入vueRouter
    <script src="common/iscroll.js"></script>  //载入iscorll5(一个滑动插件)
    <script src="common/require.js" defer async="true" data-main="common/main"></script>  //require载入模板
    

    2、html主要关注就是router方面

        <div id="app">
            <h1>Hello App!</h1>
            <p>
                <!-- 使用 router-link 组件来导航. -->
                <!-- 通过传入 `to` 属性指定链接. -->
                <!-- <router-link> 默认会被渲染成一个 `<a>` 标签 -->
                <router-link to="/foo">Go to Foo</router-link>
                <router-link to="/bar">Go to Bar</router-link>
            </p>
            <!-- 路由出口 -->
            <!-- 路由匹配到的组件将渲染在这里 -->
            <router-view></router-view>
        </div>
    

    3、再看main.js也就是配置文件,主要结合有router和require在同一个js进行配置

    //require配置
    require.config({
        baseUrl: "page",
        paths: {
            "foo": "foo",
            "index":"index"
        }
    });
    //导入依赖
    var arr=['foo','index'];
    
    define(arr, function(){
        // 0. 如果使用模块化机制编程,導入Vue和VueRouter,要调用 Vue.use(VueRouter)
    
        // 1. 定义(路由)组件。
        // 可以从其他文件 import 进来
    
        const Bar = { template: '<div>bar</div>' };
        // 2. 定义路由
        // 每个路由应该映射一个组件。 其中"component" 可以是
        // 通过 Vue.extend() 创建的组件构造器,
        // 或者,只是一个组件配置对象。
        // 我们晚点再讨论嵌套路由。
        const routes = [
            { path: '/',    component:index},
            { path: '/foo', component: Foo },
            { path: '/bar', component: Bar }
        ];
    
        // 3. 创建 router 实例,然后传 `routes` 配置
        // 你还可以传别的配置参数, 不过先这么简单着吧。
        const router = new VueRouter({
            routes: routes // (缩写)相当于 routes: routes
        });
    
        // 4. 创建和挂载根实例。
        // 记得要通过 router 配置参数注入路由,
        // 从而让整个应用都有路由功能
        const app = new Vue({
            router:router
        }).$mount('#app');
    
        // 现在,应用已经启动了!
    });
    

    4、剩下的就是page模块问题

    const index = {
        //html
        template: `
        <div>
            {{test}}
        </div>
        `,
        //数据
        data:function(){
            return {
                test:3
            }
        },
        //方法
        methods:{
    
        },
        //vue钩子
        mounted: function () {
    
        }
    };
    

    后话:因为不想vue的单页面组件那样能在单页写css样式,其他都还好说,目前的话单页应用我也只是在index.html写下全部的css

  • 相关阅读:
    Matlab中save与load函数的使用
    bsxfun函数
    matlab中nargin函数的用法
    Leetcode 188. Best Time to Buy and Sell Stock IV
    Leetcode 123. Best Time to Buy and Sell Stock III
    leetcode 347. Top K Frequent Elements
    Leetcode 224. Basic Calculator
    Leetcode 241. Different Ways to Add Parentheses
    Leetcode 95. Unique Binary Search Trees II
    Leetcode 96. Unique Binary Search Trees
  • 原文地址:https://www.cnblogs.com/huangqiming/p/6897612.html
Copyright © 2011-2022 走看看