随着这几年前端技术的快速发展,Vue框架在国内普及率极高,人人都会用。那么,如何才能写得比别人优雅?比别人漂亮?

鉴于一线互联网大厂在前沿技术领域的持续研究和大规模投入,直接向他们取经,是最便捷也是最高效的学习方式。但对于在中小公司工作的程序员来说,平时忙碌于业务代码,很少有机会接触到大厂的优秀实践。

本文将介绍一些大厂Vue项目的最佳实践:

1

一劳永逸的组件注册

通常在组件使用前,需要引入后再注册,但如果高频组件多了,每次都这样做,不仅新增很多代码,效率还低!我们应该如何优化呢?

其实,我们可以借助一下webpack的require.context() 方法来创建自己的(模块)上下文,从而实现自动动态require组件。

我们先在components文件夹(这里面都是些高频组件)添加一个叫global.js的文件,在这个文件里使用require.context 动态将需要的高频组件统统打包进来,然后在main.js文件中引入global.js的文件。

最后我们就可以随时随地在页面中使用这些高频组件,无需再手动一个个引入了。

2

高精度权限控制—自定义指令directive

我们通常给一个元素添加 v-if / v-show 来做权限管理,但如果判断条件繁琐且多个地方需要判断,这种方式的代码不仅不优雅而且冗余。

针对这种情况,我们可以通过全局自定义指令来处理:我们先在新建个 array.js 文件,用于存放与权限相关的全局函数;

最后我们在页面中就可以通过自定义指令 v-permission 来判断:

以上是几个Vue大厂实战经验。

大家有没有想过一个问题?随着前端面试要求越来越高,像Vue这样的框架已经是基本功,我们凭什么敢说比别人厉害呢?

  • 我们都会写组件,但是你知道怎么让组件能够成为高复用性的组件库型组件吗?
  • 我们都会项目打包上线,但是你知道如何编写配置文件能让打包速度最优化吗?
  • 我们都会写路由,但是你知道如何写才能保证多路由模块解耦,保证更方便增加新的路由模块吗?

说来说去,大家都知道前端的全方面学习需要完整的前端思路实践教学,这边准备了一份前端路径完整图供大家学习:

当然,有这些还不够,私信小编,发送“资料”并且评论此文章送上web前端最新学习资料!

vue main.js中引入js_web前端的同学不容错过,大厂Vue最佳实践总结,提高竞争力...相关推荐

  1. vue main.js中引入js_手把手教你深入Vue3.0(Vue-cli4)项目打包性能优化实践

    记录了自己的博客在禁用缓存的情况下,从八九秒加载时间到最终985ms的优化实践,开启缓存的情况下能达到138ms的访问速度 本人的个人博客采用的是Vue-cli4.1.2 + typescript构建 ...

  2. vue样式 引入图片_详解Vue.js中引入图片路径的几种方式

    vue --version 3.6.3 记录总结一下的Vue中引入图片路径的几种书写方式 vue中静态资源的引入机制 Vue.js关于静态资源的官方文档 静态资源可以通过两种方式进行处理: 在 Jav ...

  3. vue main.js 引入 全局 js 统一导入 js

    main.js 代码 // 导入axios import axios from axios // 添加到 vue 的 this 属性上(全局使用) Vue.prototype.axios = axio ...

  4. [vue] vue在组件中引入插件的方法有哪些?

    [vue] vue在组件中引入插件的方法有哪些? 插件通常用来为 Vue 添加全局功能.插件的功能范围没有严格的限制--一般有下面几种:添加全局方法或者属性.如: vue-custom-element ...

  5. Vue单文件中引入背景图片时,四周有空白的问题

    Vue单文件中引入背景图片时,四周有空白的问题 问题背景 初始引入背景图 更新后的背景图设置 问题背景 近期公司有个管理系统前后端分离,但是前端人员不够,只能我们后端来凑,而在前端的开发过程中总是遇到 ...

  6. Vue main.js各种写法和含义

    Vue main.js各种写法和含义 遇到的main.js的三种写法: 第一种: 通过webpack 初始化的项目 // The Vue build version to load with the ...

  7. java配置接口提供给vue,vue在js中配置全局API接口

    在src文件夹中新建util文件夹,然后在新建一个globalAPI.js文件. 在js中配置后端的接口数据 const http = 'http://127.0.0.1:8989' const gl ...

  8. main.js中封装全局登录函数

    main.js中封装全局登录函数 1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在 每一个界面通过类似指向对象的方式,去访问这个函数. ...

  9. 在vue.config.js中配置uglifyjs-webpack-plugin压缩代码

    如果vue项目打完包,js文件夹里面只有一个app.js的话,就会在首页加载所有的js代码.如果需要分包打包的话,可以执行以下代码,这样的话每个页面就只会加载对应的js文件,减少首页的负担 1.安装代 ...

最新文章

  1. 6. Qt 信号与信号槽 (5)-QObjectPrivate
  2. Linux下Poppler源码编译安装
  3. 关于复选框选中状态的判断
  4. C# List泛型集合中的GroupBy用法
  5. java excel row遍历空_Java poi读取,写入Excel,处理row和cell可能为空的情况
  6. 从北大到耶鲁博士,一个山城走出女孩的留学故事
  7. MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
  8. Linux PWN从入门到熟练
  9. 【java】Java 动态调试技术原理及实践
  10. Python基础(8)素数输出
  11. 什么是事务ACID原则?(建议收藏)
  12. c语言编写keil 设置memory model的编辑器,keil C51的Memory Model 说明[三种Model的选择对编译的影响]】...
  13. 【Matlab】符号运算总结
  14. 如何使用摸瓜快速查手机apk加壳
  15. 【论文阅读-表情捕捉】High-quality Real Time Facial Capture Based on Single Camera
  16. opencv之subtract
  17. 智能音箱场景下的性能优化
  18. numeric比较大小 数据库_数据库基础知识个人整理版-强烈推荐
  19. [编程题]:n头牛中选择满足所有m种特性的牛(百度2021)
  20. 同步群晖内的两个本地文件夹

热门文章

  1. 软件开发生命周期中的设计阶段_测试基础——软件开发生命周期
  2. MySQL部署2002_MySQL入门02-MySQL二进制版本快速部署
  3. 助力小白常见JS逆向乱杀喂饭教程——Url加密
  4. 又一款度盘不限速神器!无需登录即可下载
  5. Pandas进阶大神!从0到100你只差这篇文章!
  6. rsync命令_浅谈利用rsync服务的攻击
  7. 银角大王 python_小猿圈python学习-细讲数据类型-列表
  8. android压缩图片不失真,Android压缩图片到100K以下并保持不失真的高效方法 - feicien的博客 - eoe移动开发者社区...
  9. mysql之间互相订阅_mysql – 开票和订阅的应用程序逻辑?
  10. springsecurity sessionregistry session共享_要学就学透彻!Spring Security 中 CSRF 防御源码解析...