【开发技巧】如何在浏览器控制台获取类对象?

使用chrome等浏览器进行本地调试时,常常会使用控制台来输出变量,以便我们观察对象的属性、状态等。

后来在开发的过程中又遇到了新的情况,我们常会有静态类,会有单例对象。控制台中又没法做import的动作,这可怎么办呢:thinking:
注:方法适用于Creator2.x

我们可能会有像这样的项目代码:

image

image

要怎么在控制台中获取这里的ViewManager和MyUtils类对象,以进一步地访问单例和静态函数?

方法很简单,之前在研究预览界面的preview.js时,发现了一个对象:
window.__quick_compile_project
:face_with_monocle:里面包含一些预览时需要的辅助函数,比如require函数,作为游戏加载入口的load函数等。

我们这里要提到的就是这个 __quick_compile_project.require 。这个函数可以帮我们实现js文件的加载。
好就好在,__quick_compile_project是一个全局对象!所以我们的使用方法非常简单,只需要像这样:

image

哎,我们就得到文件的导出对象了:sunglasses:

require使用 文件名 作为参数,返回文件的export对象。
也因此,一般还需要进一步地取值,才是我们想要的类对象:

image

如果通过export default导出类,那对应的,要使用 require("文件名").default 来获取。

静态函数的调用也是没有任何问题:

image

收工,快速下班:grin:


个人广告

公众号文章链接: Cocos Creator如何在浏览器控制台获取类对象?

专注于游戏开发相关的技术与信息分享的公众号
感兴趣的朋友可以关注一波~

7赞

本来还想说cc.js.getClassByName或者自己封装一个customClass装饰器 但你这个方法在preview用真的很香 :laughing: 现在它是我的了

1赞

可以:relieved:,以前项目用过。

1赞