爱龙 2024-06-27 12:50 采纳率: 0%
浏览 18

两个小程序源码组合在一起做一个小程序!小程序B作为小程序A的子功能版块

要将A、B两个小程序组合在一起!

  • 小程序A是一个微商城小程序前端.
  • 小程序B是做的一个纯前端的蓝牙遥控小程序(无服务器后端)

合并后的结果条件如下:
1.不修改小程序A的任何功能性源代码。
2.小程序B仅用为小程序A的一个子功能板块,直接做一个子功能分包,
3.小程序B的源码不与小程序A有数据互通。
4.彼此间的页面链接仅需通过相对地址链接即可!

img

img


细节这个图片内有详细说!

目前操作了步骤有:

  1. 创建分包目录
    在小程序A的根目录下,创建一个新的目录来存放小程序B的源码,这个目录将作为分包。选择了pages/lanya作为分包目录。

  2. 复制小程序B的源码
    将小程序B的源码复制到pages/lanya目录下。具体来说,复制以下文件和文件夹:

common 文件夹及其内容(main.js, main.wxss, runtime.js, vendor.js)
pages 文件夹下的 index 页面相关文件(index.js, index.json, index.wxml, index.wxss)
static 文件夹及其内容(包括 img 文件夹和其他资源文件)
注意:没有复制app.js、app.json、app.wxss、project.config.json和project.private.config.json,因为这些文件是小程序的入口文件或项目配置文件,它们只存在于小程序的根目录下。原小程序B已经有这些文件了

  1. 修改小程序A的app.json
    在小程序A的app.json文件中,添加subpackages字段来指定分包。将小程序B的源码放在了pages/lanya目录下,在app.json中添加如下配置:
 {
      "root": "pages/lanya",
      "pages": [
        "pages/index",
        "pages/device",
        "pages/module"
      ]
    }
  1. 配置页面跳转
    在小程序A的任意页面添加相对地址跳转:
/pages/lanya/pages/index

结果是跳转过去页面空白啥也没有!
错误如下:

页面【pages/lanya/pages/index]错误:
 TypeError: Cannot read property 'call' of undefined
    at p (runtime.js? [sm]:3)
    at Object.<anonymous> (index.js? [sm]:13)
    at Object._ (index.js? [sm]:20)
    at p (runtime.js? [sm]:3)
    at o (runtime.js? [sm]:3)
    at Array.n [as push] (runtime.js? [sm]:3)
    at index.js? [sm]:1
    at WASubContext.js?t=wechat&s=1719463136603&v=3.3.5:1
    at p.runWith (WASubContext.js?t=wechat&s=1719463136603&v=3.3.5:1)
    at V (WASubContext.js?t=wechat&s=1719463136603&v=3.3.5:1)(env: Windows,mp,1.06.2405020; lib: 3.3.5)
TypeError: Cannot read property 'call' of undefined
    at p (runtime.js? [sm]:3)
    at Object.<anonymous> (index.js? [sm]:13)
    at Object._ (index.js? [sm]:20)
    at p (runtime.js? [sm]:3)
    at o (runtime.js? [sm]:3)
    at Array.n [as push] (runtime.js? [sm]:3)
    at index.js? [sm]:1
    at WASubContext.js?t=wechat&s=1719463136603&v=3.3.5:1
    at p.runWith (WASubContext.js?t=wechat&s=1719463136603&v=3.3.5:1)
    at V (WASubContext.js?t=wechat&s=1719463136603&v=3.3.5:1)(env: Windows,mp,1.06.2405020; lib: 3.3.5)
[获取文件失败] 以下文件已被配置忽略打包上传,模拟器无法获取:
pages/lanya/common/main.js
pages/lanya/common/runtime.js
pages/lanya/common/vendor.js(env: Windows,mp,1.06.2405020; lib: 3.3.5)

因为我对源码不是咋了解只能是看着步骤一步步做尴尬啊,也不知道具体还有哪些步骤!

  • 写回答

3条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-27 12:50
    关注

    引自免费微信小程序:皆我百晓生

    根据您提供的信息和错误日志,问题可能出在以下几个方面:

    1. 分包配置问题:确保在app.json中的subpackages字段配置正确。您需要指定分包目录以及包含的分包页面。例如:
    {
      "subpackages": [{
        "root": "pages/lanya", // 分包根目录
        "name": "subPackage", // 分包名称,用于页面跳转
        "pages": [ // 分包内的页面路径
          "pages/index",
          "pages/device",
          "pages/module"
        ]
      }]
    }
    

    注意这里的name字段,用于页面之间的相对跳转。在跳转到分包页面时,需要使用正确的路径,例如/subPackage/pages/index

    1. 文件缺失问题:错误日志中提到某些文件被忽略打包上传,这可能是因为项目配置或忽略文件设置导致的。请检查.project文件和.gitignore文件(或相关的小程序忽略文件设置),确保没有误配置导致这些文件被忽略。
    2. 依赖问题:确保小程序B的所有依赖都已经正确安装并包含在打包过程中。有时,缺失的依赖会导致运行时错误。
    3. 路径问题:确保所有文件的路径正确无误。在复制小程序B的源码时,确保文件和文件夹的路径与预期一致。例如,确保common文件夹及其内容被正确复制到pages/lanya目录下。
    4. 代码质量问题:检查小程序B的代码是否存在问题。尝试在没有与小程序A合并之前单独运行小程序B,看是否能够正常运行。如果单独运行时也存在问题,那么需要先解决这些问题再合并。
    5. 构建和调试:尝试清理项目并重新构建,以排除缓存或构建过程中的问题。在微信开发者工具中,可以使用“工具 -> 清理编译缓存”或“工具 -> 清除项目”来清理项目。然后重新构建和运行程序。

    针对以上建议,您可以逐一排查问题。如果问题仍然存在,建议您提供更多关于小程序A和小程序B的源码信息,以便更准确地定位和解决问题。同时,也可以考虑查阅微信小程序的相关开发文档和社区,看是否有其他开发者遇到类似的问题和解决方案。

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月27日

悬赏问题

  • ¥15 Windows Script Host 无法找到脚本文件"C:\ProgramData\Player800\Cotrl.vbs”
  • ¥15 matlab自定义损失函数
  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图