幼麒棋牌开源版本v1.0中的cc.vv

零、华丽登场

虽然早已习惯了大家的眼神

但是你们这样天天盯着我

让我感觉

好痒


一、什么是vv

已经不止一个朋友吐槽我代码里面的cc.vv了。

但总的来说,这是历史原因。

大家都知道,cc是cocos的命名空间的缩写。

那vv又是什么鬼?

麒麟子在这里解释一下。

vv  是 vivigames的缩写。

在开始写这个代码的时候,其实是没有成立成都幼麟科技的,当时随便弄了一个vivigames。只是觉得方便记忆,也好发音。

二、为什么要有vv

在我们的游戏中,经常要使用到跨场景的数据传递,当时官方推荐了两个办法。

1、使用常驻节点

使用常驻节点的办法直接就被PASS了,因为这是纯数据,把数据挂在结点上是什么意思?显然我接受不了。数据应该是脱离节点生命周期的,即使是常驻节点,也不行。

2、使用单件类

使用单件类的话,放在现在,有TS版本的情况下,是很好使的。 但放在当初只有JS的时候,代码写起来挺累的。 你想想,在没有智能提示的情况下,到处require一个东西。得有多烦人啊。

于是我寻思着自己定义一个像cc一样的全局变量。

但由于之前没有接触过JS,所以不知道有global, window这样的全局变量存在。也不知道cc是怎么弄出来的。问了官方的某个工程师(是谁我就不说了,晚上别出门) ,告诉我说,既然cc是全局的,那你挂到cc上就好了。

于是,cc.vv就这样离奇的诞生了。

三、如今更好的解决方案

1、window.vv

如果我们想要心里好受一点,同时又不想看到cc.vv的话。 可以把vv放到window上面。

一但我们定义了 window.vv = {xxx:'i m so awesome'};

我们就可以在代码的任何地方通过 vv.xxx 来访问vv中的变量。

2、使用ts的单件类

我们可以定义一个vv.ts 然后在vv.ts中将我们要的东西都放进去。

使用的时候,import即可使用

3、模拟cc机制

大家发现,我们不需要import cc 就能使用cc中的内容。

具体操作就是,不管你使用1还是2,都将这个单件挂到window上,形成全局变量。 然后再在项目根目录下写一个vv.d.ts来配合做智能提示。

值得注意的是,这个d.ts记得和你的代码保持一致

四、结束

任何一个函数,一个框架,一个工具,一个系统,一个产品。

都有着他历史的疤痕。

每一个不可思议的背后。

或许都有一个让人始料未及的原由。

就像文章开头,那个突如其来的骚,让你猝不及防。

然而

正是这些不可思议。

正是这些始料未及。

正是这些猝不及防。

充满了我们编写BUG的日日夜夜。

感谢大家的支持,我是麒麟子

已标记关键词 清除标记
相关推荐
课程简介: 历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring Boot、Spring MVC、Mybatis、Mybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页