如何将定制的引擎(C++定制)应用到浏览器项目

  • Creator 版本:1.9.1

  • 目标平台:

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:
    我按照官方文档引擎定制工作流程的指引,成功将引擎的的定制部分进行了自动JSB,同时可以正常的进行模拟器预览,但是进行浏览器预览或者构建浏览器项目的时候无法正常运行,引擎定制的部分是一个自定义的C++类,通过JSB绑定到js进行使用,运行预览或者构建好的浏览器项目时提示未定义。想请教如何将定制的引擎应用到浏览器项目。
    另外,在引擎定制工作流程中,使用 gulp gen-libs 命令生成预编译库的时候,提示VS2017暂不支持,不知道和这个有没有关系。
    衷心请求解答。

非常感谢官方邮件回复的解答
解答内容是:App定制使用的是cocoslite,html5 使用的定制是engine,两部分都需要自己定制出同一份功能
看样子是需要修改 JavaScript Engine ,定制相同的功能
本人之前一直在使用cocos-lua进行开发,所以引擎中做了很多定制化的功能绑定到lua,现在是由于新项目的需要,刚开始上手CocosCreator,并且以前也没有做过H5的项目,所以对H5项目的JS引擎定制这一块不太了解,但是又想将一些以前实现的自定义类在新的项目中沿用。
所以还请大佬赐教,H5项目中具体如何定制JS引擎,让游戏逻辑可以调用C++引擎中的自定义类。
或者有没有教程可以指导具体如何定制JavaScript Engine呢?

看到了一个帖子中的回复,说的是“CocosCreator底层也会调用cocos2dx引擎,但是在中间还有一层JS引擎”,也就是说H5项目使用的JS引擎也是通过JSB调用的C++引擎吗?

JSB可以将c++接口绑定给JS调用,如果跑在web下,就是纯JS代码环境,那么你的c++暴露的接口就没了。

终于出现大佬来指导了:grin:
如果是这样的话,是不是可以这样认为,如果是运行在web上的H5项目,是无法进行C++引擎定制的?
那web项目使用的JS引擎是如何调用C++引擎的呢?还是说web项目使用的JS引擎和cocos2d-c++引擎是完全没有关系的两个?
感觉应该不是这样吧。

c++ = cocos2d + jsb + js_framework
js = engine

类似这样的一个架构,最终两种流程,暴露给了用户同样的js层接口,就是我们的引擎API。

是不是跟渲染模式有关??

看下这张图

web上怎么会跑C++引擎呢?web上就只有js引擎而已