收藏
回答

在异步分包中重写Component函数,提示Component is not found?

开发者工具版本:1.05.2106292

基础库版本:2.18.0

操作系统:macOS 11.2.3 (20D91)

复现代码片段:https://developers.weixin.qq.com/s/AWdwYtmr7Vr6


主包通过异步加载分包文件方式require文件:

require.async('../../async/full/init');


分包中的文件会重写Component函数:

if (!global.replace) {
    global.replace = 1;
    const native = {
        Page,
        Component
    }
    Page = function (spec) {
        console.log('sync replace Page');
        return native.Page(spec);
    }
    Component = function (spec) {
        console.log('sync replace Component');
        return native.Component(spec);
    }
}


但是经过上述步骤后,开发者工具总是提示报错:

Component is not found in path "main/com-a/index" (using by "main/page-a/index")(env: macOS,mp,1.05.2106292; lib: 2.18.0)

手机预览的话不会报错。

回答关注问题邀请回答
收藏

1 个回答

  • cover
    cover
    2021-07-02

    是不是编译第二次就好了?

    2021-07-02
    有用
    回复 4
    • 亲爱的宇
      亲爱的宇
      2021-07-02
      不行,清空各种缓存,删了项目重新加都不行
      2021-07-02
      回复
    • 亲爱的宇
      亲爱的宇
      2021-07-02
      把重写的代码去掉就不会报错
      2021-07-02
      回复
    • 亲爱的宇
      亲爱的宇
      2021-07-05
      怎么样?有结果了吗
      2021-07-05
      回复
    • cover
      cover
      2021-07-06回复亲爱的宇
      我们目前在排查。有结论同步给你哈
      2021-07-06
      回复
登录 后发表内容