uni-app开发微信小程序的报错[渲染层错误]排查及解决

news2025/3/1 1:13:10

一、报错信息

[渲染层错误] Framework nner error (expect FLOW INITIALCREATION end but get FLOW CREATE-NODE)
在这里插入图片描述

二、原因分析及解决方案

第一种
  • 原因:基础库版本的原因导致的。

  • 解决:
    1.修改调试基础库版本
    2.详情—>本地设置—>调试基础库,选择了最新的版本
    在这里插入图片描述

第二种
  • 原因:分包文件中引入了其他分包的组件
  • 解决:
    1.把其他分包的组件重新复制过来一份
    2.把公用的其他分包的组件放到主包里
第三种
  • 原因:主包的文件中引入了分包的组件
  • 解决:
    1.在app.json中去掉 lazyCodeLoading: ‘requiredComponents’, 这个配置
    2.把公用的其他分包的组件放到主包里

三、问题扩展

1.按需注入

自基础库版本 2.11.1 起,小程序支持通过配置,有选择地注入必要的代码,以降低小程序的启动时间和运行时内存。

“lazyCodeLoading”: “requiredComponents”

  • 通常情况下,在小程序启动时,启动页面依赖的所有代码包(主包、分包、插件包、扩展库等)的所有 JS 代码会全部合并注入,包括其他未访问的页面以及未用到自定义组件,同时所有页面和自定义组件的 JS 代码会被立刻执行。这造成很多没有使用的代码在小程序运行环境中注入执行,影响注入耗时和内存占用。

  • 启用按需注入后,小程序仅注入当前访问页面所需的自定义组件和页面代码。未访问的页面、当前页面未声明的自定义组件不会被加载和初始化,对应代码文件将不被执行。请开发者修改配置后务必确认小程序的表现正常。

  • 启用按需注入后,页面 JSON 配置中定义的所有组件和 app.json 中 usingComponents 配置的全局自定义组件,都会被视为页面的依赖并进行注入和加载。建议开发者及时移除 JSON 中未使用自定义组件的声明,并尽量避免在全局声明使用率低的自定义组件,否则可能会影响按需注入的效果。

2.分包异步化

在小程序中,不同的分包对应不同的下载单元;因此,除了非独立分包可以依赖主包外,分包之间不能互相使用自定义组件或进行 require。

「分包异步化」特性将允许通过一些配置和新的接口,使部分跨分包的内容可以等待下载后异步使用,从而一定程度上解决这个限制。

一个分包使用其他分包的自定义组件时,由于其他分包还未下载或注入,其他分包的组件处于不可用的状态。通过为其他分包的自定义组件设置 占位组件,我们可以先渲染占位组件作为替代,在分包下载完成后再进行替换。

例如:

// subPackageA/pages/index.json
{
  "usingComponents": {
    "button": "../../commonPackage/components/button",
    "list": "../../subPackageB/components/full-list",
    "simple-list": "../components/simple-list",
    "plugin-comp": "plugin://pluginInSubPackageB/comp"
  },
  "componentPlaceholder": {
    "button": "view",
    "list": "simple-list",
    "plugin-comp": "view"
  }
}

在这个配置中,button 和 list 两个自定义组件是跨分包引用组件,其中 button 在渲染时会使用内置组件 view 作为替代,list 会使用当前分包内的自定义组件 simple-list 作为替代进行渲染;在这两个分包下载完成后,占位组件就会被替换为对应的跨分包组件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1087115.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023转行要趁早!盘点网络安全的岗位汇总

前段时间,知名机构麦可思研究院发布了《2022年中国本科生就业报告》,其中详细列出近五年的本科绿牌专业,信息安全位列第一。 对于网络安全的发展与就业前景,知了姐说过很多,作为当下应届生收入较高的专业之一&#xf…

【NeRF】1、NeRF 是什么

NeRF 最早是在 ECCV2020 中提出的方法,还获得了 ECCV2020 Oral 论文:Representing Scenes as Neural Radiance Fields for View Synthesis代码:https://github.com/bmild/nerf官网:https://www.matthewtancik.com/nerf Neural R…

Spring Boot中的异步编程:解决的问题与应用场景

Spring Boot中的异步编程:解决的问题与应用场景 在现代Web应用程序中,高并发和性能是至关重要的。为了处理大量的请求和任务,异步编程成为了不可或缺的一部分。Spring Boot提供了强大的异步编程支持,可以显著提高应用程序的吞吐量…

Avalonia使一个弹窗弹到指定位置

1.项目下载地址&#xff1a;https://gitee.com/confusedkitten/avalonia-demo 2.UI库Semi.Avalonia&#xff0c;项目地址 https://github.com/irihitech/Semi.Avalonia 3.样式预览 4.PositionControl.axaml <UserControl xmlns"https://github.com/avaloniaui&quo…

TimesNet:时间序列预测的最新模型

2020年发布的N-BEATS、2022年发布的N-HiTS和2023年3月发布的PatchTST开始。N-BEATS和N-HiTS依赖于多层感知器架构&#xff0c;而PatchTST利用了Transformer架构。 2023年4月发表了一个新的模型&#xff0c;它在时间序列分析的多个任务中实现了最先进的结果&#xff0c;如预测、…

pdf怎么压缩?pdf文件缩小的方法在这里

PDF文件由于其跨平台、可打印性强等特点&#xff0c;成为了我们日常工作中经常使用的一种文件格式。然而&#xff0c;这种格式的文件有时候会因为过于庞大而给我们的存储和传输带来困扰&#xff0c;其实&#xff0c;这种情况只需要通过一些工具对PDF文件进行压缩&#xff0c;即…

网站为什么需要https证书以及如何申请

随着互联网的快速发展&#xff0c;网站的安全性问题越来越受到人们的关注。因此&#xff0c;越来越多的网站开始使用https证书&#xff0c;以保护用户的数据安全和隐私。那么&#xff0c;网站为什么需要https证书呢&#xff1f; 首先&#xff0c;https证书可以提供加密保护&…

《RISC-V体系结构编程与实践》的benos_payload程序——mysbi跳转到benos分析

1、benos_payload.bin结构分析 韦东山老师提供的开发文档里已经对程序的结构做了分析&#xff0c;这里不再赘述&#xff0c;下面是讨论mysbi跳转到benos的问题&#xff1b; 2、mysbi跳转到benos的代码 3、跳转产生的疑问 我认为mysbi.bin最后跳转到0x22000地址处执行&#xff0…

如何防止内部员工数据外泄?

首先&#xff0c;数据对于企业的价值和意义无需多说&#xff0c;数据价值的发挥和利用以数据安全为基础。当数据创造价值的同时&#xff0c;也面临着被窃取泄露、滥用、非法利用的风险&#xff0c;进而对个人、组织甚至整个社会、国家的利益产生严重威胁和损害。近年来&#xf…

苹果手机备份软件哪个好用?有哪些免费的第三方备份软件

备份手机数据一直是一个让人头疼的问题&#xff0c;尤其对于iPhone用户来说。尽管iCloud和iTunes提供了方便的备份选项&#xff0c;但是有时候&#xff0c;我们可能需要更多高级功能或者更直观的操作界面。本文将介绍几款好用的苹果手机备份软件。 一、主流苹果备份软件 1.iClo…

ORA-48140: the specified ADR Base directory does not exist?手动创建pfile启动失败

1.描述问题 ORA-48108: invalid value given for the diagnostic_dest init.ora parameterORA-48140: the specified ADR Base directory does not exist [/u01/app/oracle/product/11.2.0/db_1/dbs/<ORACLE_BASE>]ORA-48187: specified directory does not exist Linux-…

【C++程序员必修第一课】C++基础课程-02:快速入门

1 本课主要内容&#xff1a; 简单介绍 VS2019 开发工具基本使用C 开发基本概念、函数、变量、注释、if 判断、for 循环、while 循环等 2 主要知识点&#xff1a; VS主界面介绍 VS 主界面简单介绍&#xff1b;解决方案下面包含项目&#xff0c;项目下面包含有头文件、源文件…

Java也能做OCR!SpringBoot 整合 Tess4J 实现图片文字识别

前言 今天给大家分享一个SpringBoot整合Tess4j库实现图片文字识别的小案例&#xff0c;希望xdm喜欢。 文末有案例代码的Git地址&#xff0c;可以自己下载了去玩玩儿或继续扩展也行。 话不多说&#xff0c;开整吧。 什么是Tess4j库 先简单给没听过的xdm解释下&#xff0c;这里要…

和鲸 ModelWhale 与华为 OceanStor 2910 计算型存储完成兼容性测试

数智化时代&#xff0c;数据总量的爆炸性增长伴随着人工智能、云计算等技术的发展&#xff0c;加速催化了公众对于数据存储与应用的多元化需求。同时&#xff0c;数据也是重要的基础资源和战略资源&#xff0c;需要严格保障其安全性、完整性。搭建国产数据基础设施底座&#xf…

一元交友盲盒在线搭建完整教程 前后端分离 可二开

大家好啊&#xff0c;今天来给大家分享一个最近很火的一元交友盲盒小程序的搭建教程。 系统搭建教程&#xff1a; 需求分析与规划&#xff1a;明确系统的基本功能需求&#xff0c;如用户注册、登录、浏览和匹配其他用户、聊天、付费参与盲盒等。选择合适的平台和框架&#xff…

【Rust基础①】基本类型、所有权与借用、复合类型

文章目录 1 基本类型1.1 数值类型1.1.1 Rust 中的内置的整数类型&#xff1a;1.1.2 浮点类型1.1.3 数学运算1.1.4 位运算1.1.5 序列(Range) 1.2 字符、布尔、单元类型1.3 语句和表达式1.4 函数 2 所有权与借用2.1 栈(Stack)与堆(Heap)2.2 所有权原则2.2.1 转移所有权2.2.2 克隆…

rtsp_topic

1.打开推流服务器 2.接收ros图像 3.ffmpeg命令推流 pushflow.cpp // 1.包含头文件&#xff1b; #include "rclcpp/rclcpp.hpp" #include "std_msgs/msg/string.hpp" #include <iostream> #include <csignal> #include <opencv4/opencv2/o…

什么是好的数据库设计?

良好的数据库设计对确保数据的准确性、一致性和完整性至关重要&#xff0c;同时确保数据库高效、可靠且易于使用。设计必须解决快速且轻松地存储和检索数据的问题&#xff0c;同时稳定地处理大量数据。经验丰富的数据库设计师可以创建一个强大、可扩展和安全的数据库架构&#…

3.1 SQL概述

思维导图&#xff1a; 前言&#xff1a; 前言笔记&#xff1a;第3章 关系数据库标准语言SQL - **SQL的定义**&#xff1a; - 关系数据库的标准和通用语言。 - 功能强大&#xff0c;不仅限于查询。 - 功能覆盖&#xff1a;数据库模式创建、数据插入/修改、数据库安全性与…