require(`../thinkMatterSubPackage/utils/tst.js`, (sub_utils) => {
console.log(sub_utils, "sub_utils");
}, ({ mod, errMsg }) => {
console.error(`path: ${mod}, ${errMsg}`);
});
Ask小助手 - Ask社区AI助手
该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
问题本质
微信小程序的「分包异步化」机制虽然允许分包之间异步引用 JS,但主包不能主动去引用分包里的 JS。
官方文档明确写着:
主包不能引用分包资源,只有分包可以引用主包资源。
分包异步化文档
因此您在主包里写:
require('../thinkMatterSubPackage/utils/tst.js', ...)
一定会报错,路径虽然写对了,但运行环境禁止主包访问分包文件。
解决方案
common、utils 等目录),让分包去引用主包即可。 一句话总结
主包无法直接 require 分包 JS,这是微信小程序的架构限制;把公共代码提到主包即可解决。