g***@biteanbox.com
g***@biteanbox.com
  • 发布:2025-11-22 07:22
  • 更新:2025-11-23 00:09
  • 阅读:33

【报Bug】require 小程序分包异步化编译报错

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 家庭中文版--22H2

HBuilderX类型: 正式

HBuilderX版本号: 4.85

第三方开发者工具版本号: 1.06

基础库版本号: 3.8.10

项目创建方式: HBuilderX

操作步骤:

https://uniapp.dcloud.net.cn/tutorial/miniprogram-subcontract-asynchrony.html#%E5%88%86%E5%8C%85%E5%BC%82%E6%AD%A5%E5%8C%96

预期结果:

正常异步加载分包文件

实际结果:

uniapp 编译报错

bug描述:

https://uniapp.dcloud.net.cn/tutorial/miniprogram-subcontract-asynchrony.html#%E5%88%86%E5%8C%85%E5%BC%82%E6%AD%A5%E5%8C%96

场景: 主包中页面 require 异步加载其他分包下 js 文件

对照uniapp官方文档的例子, 发现编译报错:

Cannot statically analyse 'require(…, …)' in line 1490
Cannot statically analyse 'require(…, …)' in line 1552

2025-11-22 07:22 负责人:无 分享
已邀请:
DCloud_UNI_JBB

DCloud_UNI_JBB

vue2还是vue3,你的代码怎么写的?

g***@biteanbox.com

g***@biteanbox.com (作者)

【vue2 项目】,主包下某个页面的代码

//minisecond 是个分包
require('../minisecond/static/test.js', function(utils) {
console.warn("[testRequire] success:", utils)
}, function(err) {
console.error("[testRequire] fail:", err.mod, err.errMsg)
})

在 uniapp 下添加时会编译阶段就报错:

Cannot statically analyse 'require(…, …)' in line 1490
Cannot statically analyse 'require(…, …)' in line 1552

  • 大致意思是 require 方法编译时用的时 Node 的封装,只能传一个string参数; 但微信端的require方法可以传3个;

另外,我把这段代码放到编译后wx小程序的代码中了,发现时正常的; 所以想问问 ,这玩意uniapp 官方有试过吗?

  • DCloud_UNI_JBB

    官方文档的js异步化指南是针对vue3的

    2025-11-23 10:04

  • DCloud_UNI_JBB

    vue2我还没有测试,周内上班了看一下

    2025-11-23 10:05

要回复问题请先登录注册