分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 前端开发

requirejs vue vue router简单框架

发布时间:2023-09-06 01:24责任编辑:赖小花关键词:js

index.html 入口页面

<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title>vue</title>    <link href="../css/index.css" rel="stylesheet">    <script src="../dist/js/requirejs-2.1.22.js"></script>    <script src="../js/common/base.js"></script></head><body>    <div class="panel" id="app">        <div class="panel-left">            <ul class="menus">                <li v-for="menu in menus"><a v-on:click="switchPage(menu)">{{menu.name}}</a></li>            </ul>        </div><!-- panel-left -->        <div class="panel-right">            <router-view></router-view>        </div>    </div><!-- panel --></body></html>

base.js requirejs 配置文件

(function(){    requirejs.config({        baseUrl: "../js",        paths:{            "promise":"../dist/js/q",            "vue":"../dist/js/vue",            "vue.router":"../dist/js/vue-router.min",            "text":"../dist/js/text",            "css":"../dist/js/css.min"        },        waitSeconds: 15,        map:{        },        urlArgs: "version=" + Date.now(),        shim: {            promise:{                exports:"Q"            },            "vue": {                exports: "Vue"            },            "vue.router": {                exports: "VueRouter"            }        },        callback:function(){        },        deps:["vue","vue.router","promise","index"] // 默认要加载的js    });})();

index.js vue 入口

define(["vue","vue.router","common/routes"], function(Vue,VueRouter,routes) {    Vue.use(VueRouter);    var data = {        menus: [            {path: "/account", name: "账户管理"},            {path: "/authorization", name: "权限管理"},            {path: "/member", name: "会员管理"}        ]    };    var router = new VueRouter({        routes:routes    });    var methods = {        switchPage:function(menu){            console.log(menu);            this.$router.push(menu.path);        }    };    var app = new Vue({        router:router,        el:"#app",        data:data,        methods:methods    });});


routes.js 路由配置

define(["common/ResolveComponent"], function(ResolveComponent) {    var routes = [];    routes.push({        path: ‘/account‘,        component: ResolveComponent("account/account_index")    });    routes.push({        path: ‘/authorization‘,        component: ResolveComponent("authorization/authorization_index")    });    routes.push({        path: ‘/member‘,        component: ResolveComponent("member/member_index")    });    return routes;});


ResolveComponent.js  component懒加载工具

define(["require","promise"], function(require,Q) {    var resolve = function(dependency){        return function(){            if(!(dependency instanceof Array)){                dependency = [dependency];            }            var deferred = Q.defer();            require(dependency,function(res){                deferred.resolve(res);            });            return deferred.promise;        }    };    return resolve;});


requirejs vue vue router简单框架

原文地址:http://antlove.blog.51cto.com/10057557/1981729

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved