vue非编译的模块化写法

项目目录

●/
    ●index.html
    ●js/
        ●main.js
        ●myComponent.js
        ●routes.js
        ●textComponent.js
        ●lib/
            ●vue.js
            ●vue-router.js
            ●require.min.js

一、构建require.js环境

(1)index.html网页设置require.min.js

<!DOCTYPE html>
<html lang="en">
<head></head>
<body>
<div id="app"><transition name="tsfade" mode="out-in"><router-view ></router-view></transition>
</div>
</body>
<script src="js/lib/require.min.js" data-main="js/main"></script>
</html>

(2)js/main.js

require.config({nodeIdCompat: true,baseUrl:'./',paths: {vue         : 'js/lib/vue','vue-router': 'js/lib/vue-router',axios       : 'js/lib/axios.min',routes      : 'js/routes',myComponent : 'js/myComponent',textComponent : 'js/textComponent',}});
require(['vue',  'vue-router','routes','myComponent'],function (Vue,  VueRouter,routes,  myComponent) {Vue.use(VueRouter);var router = new VueRouter({routes:routes});let vue = new Vue({router: router,components: { myComponent: myComponent},}).$mount('#app'); 
});

二、vue模块写法

(1)js/routes.js

define(['myComponent'],function (myComponent) {const basePath = "";var routes = [{path: '/',name: 'default',redirect: basePath + "/myComponent",},{name: "myComponent",path: basePath + "/myComponent",component: myComponent, }];return routes;})

(2)js/myComponent.js

define(['textComponent'],function (textComponent) {var template =`<div><text-component></text-component><p>{{info}}</p></div>`;let component = {template: template,data() {return {info: '芙蓉区',};},components:{textComponent:textComponent}};return component;
});

(3)js/textComponent.js

define(function () {var template =`<div><p>{{text}}</p></div>`;let component = {template: template,data() {return {text: '信息',};}};return component;
})

项目地址:https://github.com/90duc/RequireJSVue

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3-8 基于SpringBoot连接数据库与配置MyBatis实操 创建表sql

11 13-8 基于SpringBoot连接数据库与配置MyBatis实操 springSecurity提供了 现成的基于内存管理的类 shiro则必须自己设计这样的类 需要自己设计用户权限这样的体系 这里基于RBAC简单的设计一套 -- 权限表 -- CREATE TABLE permission (pi…

struts基本概念(1)

model1:1,纯jsp2.jspjavabeanmodel2&#xff1a;MVC: jspservletjavabean m:model (模型)封装数据&#xff0c;业务处理类 &#xff0c;返回处理结果v:view(视图)展示数据c&#xff1a;cotroller&#xff08;控制器&#xff09;处理请求&#xff0c;模型和视图之间进行转换DTD…

使用 RxJS 实现 JavaScript 的 Reactive 编程

简介 作为有经验的JavaScript开发者&#xff0c;我们会在代码中采用一定程度的异步代码。我们不断地处理用户的输入请求&#xff0c;也从远程获取数据&#xff0c;或者同时运行耗时的计算任务&#xff0c;所有这些都不能让浏览器崩溃。可以说&#xff0c;这些都不是琐碎的任务&…

vue组件自定义v-model

转载自 vue组件&#xff0c;自定义v-model方法1<my-component v-model"obj"></my-component>在使用my-component组件时&#xff0c;为了实现双向绑定。1234567891011121314Vue.component(my-component, {props: {obj: Object,},model: {prop: obj,event…

权限管理系统

11 已经有现成的spring Security 和 Apache shiro 为什么还要开发自己的一套权限管理系统 1.必须按照框架的要求进行配置&#xff0c;会被框架限制&#xff0c;差一点点就转不起来&#xff0c;犯一点点错误都不行&#xff0c; 2.没有界面操作&#xff0c;和查看&#xf…

vue watch监听对象

一、watch的API vm.$watch( expOrFn, callback, [options] ) 参数&#xff1a; {string | Function} expOrFn{Function | Object} callback{Object} [options] {boolean} deep{boolean} immediate 返回值&#xff1a;{Function} unwatch 用法&#xff1a; 观察 Vue 实例变化的…

从.NET和Java之争谈IT这个行业

一、有些事情难以回头 开篇我得表名自己的立场:.NET JAVA同时使用者,但更加偏爱.NET.原因很简单 1.NET语言更具开放性,从开源协议和规范可以看出; 2.语言更具优势严谨; 3.开发工具VS更具生产力; 然而 1.Java,C#的职位比率在4:1,虽然这不是什么问题,因为求职竞争的比例更大(JAVA…

权限管理系统2_权限表,权限模块表

CREATE TABLE sys_acl_module ( id int(11) NOT NULL AUTO_INCREMENT COMMENT 权限模块id, name varchar(20) NOT NULL DEFAULT COMMENT 权限模块名称, parent_id int(11) NOT NULL DEFAULT 0 COMMENT 上级权限模块id, level varchar(200) NOT NULL DEFAULT COMMENT …

struts基本概念(2)

一、struts使用步骤&#xff1a;1.导包&#xff08;基本&#xff09;2.web.xml配置struts控制器 C3.页面开发 V4.处理类开发 M()5.配置struts.xml 6.部署运行二、struts访问session(servlet )1.解耦方式:ActionContext Map 2.耦合方式:ServletActionContextHttpSession 三…

vue2.0 $router和$route的区别

转载自 vue2.0 $router和$route的区别在vue2.0里页面参数是 this.$route.query或者 this.$route.params 接收router-link传的参数。 在路由跳转的时候除了用router-link标签以外需要在script标签在事件里面跳转&#xff0c;所以有个方法就是在script标签里面写this.$router.pu…

基于Bootstrap 3.x的免费高级管理控制面板主题:AdminLTE

AdminLTE 是一个基于Bootstrap 3.x的免费高级管理控制面板主题。AdminLTE - 是一个完全响应式管理模板。基于Bootstrap3框架。高度可定制的&#xff0c;易于使用。适合从小型移动设备到大型台式机很多的屏幕分辨率。 在线预览: http://almsaeedstudio.com/preview/ AdminLTE 在…

Spring MVC开发环境搭建

现在springMVC是非常常用的框架&#xff0c;很多公司的内部都是使用这个框架 打开maven查询jar包的网址 mvnrepository.com 测试是否成功 war:只是运行 war expord: 运行且调试

Redola.Rpc 的一个小目标:20000 tps

Redola.Rpc 的一个小目标 Redola.Rpc 的一个小目标&#xff1a;20000 tps。 Concurrency level: 8 threadsComplete requests: 20000 Time taken for tests: 0.886 secondsTime per request: 0.044 ms (avg)Requests per second: 22573 [#/sec] (avg) Concurrency level: 8 thr…

vue 动态修改路由参数

转载自 vue 动态修改路由参数 import merge from webpack-merge&#xff1b;修改原有参数 this.$router.push({query:merge(this.$route.query,{maxPrice:630}) })新增一个参数&#xff1a; this.$router.push({query:merge(this.$route.query,{addParams:我是新增的一…

2016年寒假心得

对于上学的孩子来说每年都有寒假&#xff0c;可是一样的寒假总是不一样的玩法。自从高中毕业之后&#xff0c;很少动笔写文了&#xff0c;这次就好好的写一下吧&#xff01;咱的文笔也不是很好&#xff0c;就写个最简单的流水状大家凑合的看看吧&#xff01;&#xff01;&#…

Vue.js 定义组件模板的七种方式

转载自 Vue.js 定义组件模板的七种方式在 Vue 中定义一个组件模板&#xff0c;至少有七种不同的方式&#xff08;或许还有其它我不知道的方式&#xff09;&#xff1a; 字符串模板字面量x-template内联模板render 函数JSF单文件组件 在这篇文章中&#xff0c;我将通过示例介绍…

.Net Core上用于代替System.Drawing的类库

目前.Net Core上没有System.Drawing这个类库&#xff0c;想要在.Net Core上处理图片得另辟蹊径。 微软给出了将来取代System.Drawing的方案&#xff0c;偏向于使用一个单独的服务端进行各种图片处理https://github.com/dotnet/corefx/issues/2020https://github.com/imazen/Gra…

16-1 Redis分布式缓存引入与保存缓存功能实现

16-1 Redis分布式缓存引入与保存缓存功能实现 现在功能已经完成了&#xff0c;但是我们还是要考虑一下性能问题&#xff0c;现在任何请求都是要到数据库中查询很多的数据&#xff0c;才能知道当前的用户是否有权限可以访问当前的url&#xff0c;当我们的请求量很大时&#xff…

oracle基本笔记整理

oracle&#xff0c;简单来说就是数据库&#xff0c;数据库 &#xff0c;顾名思义&#xff0c;就是存放数据的容器&#xff01;&#xff01; 不知道oracle的我先科普一下吧~~~科普&#xff0c;科学普及简称科普&#xff0c;又称大众科学或者普及科学&#xff0c;是指利用各种传…