requirejs vue vue router简单框架

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;

});
时间: 2024-10-11 21:41:50

requirejs vue vue router简单框架的相关文章

requirejs、vue、vuex、vue-route的结合使用,您认为可行吗?

在五一节之前和一网友讨论前端技术时,对方提到vue.vue-route如果配合requirejs应用.当时的我没有想得很明白,也没能这位网友一个准确的回复,但我许诺于他五一研究后给他一个回复.本是一天的研究却被我搞成了研究了一周,这拖延症... 闲话少数,进入正题 一.示例代码说明 代码结构说明: modules(存放的为组件,主要是模板与Js对象分成两个文件来写) route:测试子路由的组件 title:就是一个简单的显示文字的组件 app.js:核心类,提供vue的创建.以前modules

angular4.0和angularJS、react.js、vue.js的简单比较

angularJS特性 模板功能强大丰富(数据绑定大大减少了代码量) 比较完善的前端MVC框架(只要学习这个框架,按照规定往里面填东西就可以完成前端几乎所有的的问题) 引入了Java的一些概念 angularJS的一些问题 性能问题[(脏检查机制)在angular中被废除了,整体性能被提升 路由问题[(使用的是第三方模块)在angular中路由器是主要的机制 作用域问题[(不能用原生的事件,想用就要调用一个方法)在angular中任何原生的事件都可以直接处理 表单验证问题[在angular中提供

用 Vue 开发一个简单的答题应用(一)

Vue 之类的 MVVM 框架,能帮助我们用更少的代码实现复杂的业务. 为了简单一点,开发计划分成三阶段: 一,数据写死,实现基本的答题效果.支持多种题型. 二,使用本地存储保存数据,支持题目录入的功能. 三,使用数据库,后台实现接口给前端调用. 目前,只实现了第一阶段. Demo,源码 原文地址:https://www.cnblogs.com/yunser/p/8331667.html

VUE:渐进式JavaScript框架(小白自学)

VUE:渐进式JavaScript框架 一.官网 英文 https://vuejs.org/ 中文 https://cn.vuejs.org/ 二:渐进式 即有一个核心库,在需要的时候再逐渐添加插件的一种概念 作用:动态构建界面(将后台的数据在前台动态显示出来) 三:与其他框架的关联 1)借鉴 angular 的 模板 和 数据绑定 技术 2)借鉴 react 的 组件化 和 虚拟DOM 技术 四:Vue扩展插件 1)vue-cli: vue脚手架(帮我们下载基于vue的.编写好配置的.设定好依

在vue中使用 layui框架中的form.render()无效解决办法

下面简单介绍在vue中使用 layui框架中的form.render()无效解决办法. 原文地址:小时刻个人技术博客 > http://small.aiweimeng.top/index.php/archives/layuiForm.html 近期开发的项目中前端ui框架用的是Layui,数据渲染使用vue去渲染,当我用vue渲染表单控件的数据时,会出现控件被禁用的情况,例如:select下拉等,于是去看文档,按照文档说的写了,结果然并卵,( ̄▽ ̄)".搞了半天都没搞好.然后在百度搜索了v

web前端Vue+Django&#160;rest&#160;framework&#160;框架&#160;生鲜电商项目实战视频教程 学习

web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 1.drf前期准备 1.django-rest-framework官方文档 https://www.django-rest-framework.org/ #直接百度找到的djangorestframework的官网是打不开的 2.安装依赖包 如图所示,django restframework的依赖模块,除了coreapi和django-guardian,已经在前面安装过了. 打开终端,执行安装命令

基于vue.js的简单用户管理

功能描述:添加.修改.搜索过滤 效果图: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <title>简单用户管理</title> 5 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"

Vue.js前端MVVM框架实战篇

相信大家对vue.js这个前端框架有了一定的了解.想必也想把Vue急切的运用在项目中,看看它的魅力到底有多大?别急,今天我会满足大家的想法. 我们一起来看看“Webpack+Vue”的开发模式相比以往老项目(Gulp+jQuery)的开发模式的魅力在哪里. 一.配置开发环境 1.先安装Node和Webpack 2.建立一个文件夹为:Vue-project,然后初始化生成package.json.运行以下指令: npm init 初始化完成后,添加项目开发所依赖的包 "dependencies&q

Vue小白踩坑 使用vue做一个简单的todo list

前言 寒假待在家,无所事事,便开始做起了毕设,由于要写跨端应用,基础是vue,所以先攻克vue 做一个简单的todo 当然是自己做的,效率有点儿低,不过能做出来已经很不错了把 hhh 源码 本质上毕设的前端展示,也就是对一个todo-list加一个好看的ui,数据排版等等花里胡哨的东西,本质的东西还是数据的crud <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title