在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 相关文章推荐
Jquery焦点与失去焦点示例应用
Jun 10 Javascript
js调用百度地图及调用百度地图的搜索功能
Sep 07 Javascript
js自定义回调函数
Dec 13 Javascript
深入理解jQuery之事件移除
Jun 02 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
Aug 01 Javascript
js 性能优化之快速响应的用户界面
Feb 15 Javascript
jquery实现提示语淡入效果
May 05 jQuery
详解Vue.js之视图和数据的双向绑定(v-model)
Jun 23 Javascript
CSS3+JavaScript实现翻页幻灯片效果
Jun 28 Javascript
webstorm添加vue.js支持的方法教程
Jul 05 Javascript
jQuery绑定事件方法及区别(bind,click,on,live,one)
Aug 14 jQuery
Vue父子传递实例讲解
Feb 14 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
php实现把数组按指定的个数分隔
2014/02/17 PHP
PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件
2014/09/24 PHP
PHP计算指定日期所在周的开始和结束日期的方法
2015/03/24 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
Prototype Class对象学习
2009/07/19 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
script标签属性type与language使用选择
2012/12/02 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
jquery专业的导航菜单特效代码分享
2015/08/29 Javascript
基于jQuery实现的仿百度首页滑动选项卡效果代码
2015/11/16 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
webpack开发跨域问题解决办法
2017/08/03 Javascript
JS库之Waypoints的用法详解
2017/09/13 Javascript
用vue构建多页面应用的示例代码
2017/09/20 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
Python获取linux主机ip的简单实现方法
2016/04/18 Python
Python request设置HTTPS代理代码解析
2018/02/12 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
django 中QuerySet特性功能详解
2019/07/25 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
对python中各个response的使用说明
2020/03/28 Python
Pytorch mask-rcnn 实现细节分享
2020/06/24 Python
用Python开发app后端有优势吗
2020/06/29 Python
python 实现有道翻译功能
2021/02/26 Python
彪马荷兰官网:PUMA荷兰
2019/05/08 全球购物
高中化学教学反思
2014/01/13 职场文书
军校大学生个人的自我评价
2014/02/17 职场文书
基层党组织建设整改方案
2014/09/16 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
工商局领导班子存在的问题整改措施思想汇报
2014/10/05 职场文书
优秀护士事迹材料
2014/12/25 职场文书
Python包管理工具pip的15 个使用小技巧
2021/05/17 Python
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers