在vue.js中抽出公共代码的方法示例


Posted in Javascript onJune 08, 2017

前言

当我们在使用vue构建中大型项目时,通常会遇到某些经常用的方法以及属性,比如说搭建一个员工管理系统,请求的url需要一个共同的前缀,或者在某几个view中需要用到时间,这个时间是通过某方法格式化之后的等等,如果每次用到都写共同的代码,那样如果之后有变动的话维护起来会非常麻烦。

所以我们就得想办法抽出公共代码,因为vue是组件化开发,我们就会很自然的与es6的module模块化联系到一起。其实当我们在搭建项目结构时就应该先提前埋下伏笔,有一个util文件夹,里面放的就是我们要写的公共代码,其实很多vue的例子都是类似于这种结构搭建的。

在vue.js中抽出公共代码的方法示例

对于固定的配置参数我们可以放到config.js中,就像下面这样。

const config = {
 request_prefix: 'http://localhost:10003',
 base_img: 'http://www.baidu.com',
 
}

const DingConf = function(data){
 xxxxxxxxx
}


export {config, DingConf}

对于常用的工具函数我们可以放到util.js中,结构跟上面一样。

然后为什么我要用export来导出,而不用export default呢?

因为前者更为灵活,因为对于大中型项目来说,我们的工具函数以及配置参数往往较多,如果我们使用export default导出的话,在组件中引入就会全部引入,但我们的需求是只在相应的页面中按需引入即可,所以在vue文件中,我们就可以这样写

import {config} from 'src/util/config'      // 引入模块
export default {
created(){


this.$http({



url: config.request_prefix + xxxxxxxxxxxxx  // 使用


})

}
}

这样写的优点是增强了可读性并利于维护。如果有同学不太理解es6中的import,export,建议大家去看下阮一峰大神的es6入门教程,在这里我也简单的说下吧,因为vue是模块化,所以就得导出某些东东,然后每个模块只负责不同的业务,所以嘛我们最后就得export一下,因为const是不变的常量,所以在配置项中尽可能用这个,在工具函数中用let声明变量,然后import后面的{ ... }就是引入某个模块的某些属性或方法,from 'xxxx' 这里面是指引入哪个模块。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
js操作时间(年-月-日 时-分-秒 星期几)
Jun 20 Javascript
JavaScript插入动态样式实现代码
Feb 22 Javascript
html a标签-超链接中confirm方法使用介绍
Jan 04 Javascript
在javascript中关于节点内容加强
Apr 11 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
Nov 14 Javascript
一个获取第n个元素节点的js函数
Sep 02 Javascript
javascript面向对象之访问对象属性的两种方式分析
Jan 13 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
Feb 26 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
jQuery复合事件用法示例
Jun 10 jQuery
ReactNative之FlatList的具体使用方法
Nov 29 Javascript
vue项目中使用Svg的方法
Oct 24 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 #Javascript
jQuery+ajax实现局部刷新的两种方法
Jun 08 #jQuery
gulp解决跨域的配置文件问题
Jun 08 #Javascript
angular 用拦截器统一处理http请求和响应的方法
Jun 08 #Javascript
jQuery 添加样式属性的优先级别方法(推荐)
Jun 08 #jQuery
Ionic项目中Native Camera的使用方法
Jun 07 #Javascript
详解angular ui-grid之过滤器设置
Jun 07 #Javascript
You might like
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
PHP CURL模拟GET及POST函数代码
2010/04/25 PHP
php curl常见错误:SSL错误、bool(false)
2011/12/28 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
Javascript 遍历页面text控件详解
2014/01/06 Javascript
js css 实现遮罩层覆盖其他页面元素附图
2014/09/22 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
jQuery中extend函数详解
2015/07/13 Javascript
javascript实现移动端上的触屏拖拽功能
2016/03/04 Javascript
jquery树形菜单效果的简单实例
2016/06/06 Javascript
功能强大的jquery.validate表单验证插件
2016/11/07 Javascript
JavaScript中的普通函数和箭头函数的区别和用法详解
2017/03/21 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
[10:34]DOTA2上海特级锦标赛全纪录
2016/03/25 DOTA
python 数据加密代码
2008/12/24 Python
用Python制作简单的钢琴程序的教程
2015/04/01 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
python mysql 字段与关键字冲突的解决方式
2020/03/02 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
python numpy矩阵信息说明,shape,size,dtype
2020/05/22 Python
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
英国在线电子和小工具商店:TecoBuy
2018/10/06 全球购物
自荐信的两点禁忌
2013/10/30 职场文书
机关工会开展学习雷锋活动总结
2014/03/01 职场文书
开展读书活动总结
2014/06/30 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
初三语文教学计划
2015/01/22 职场文书
店长岗位职责
2015/02/11 职场文书