uni-app 【报Bug】appInit.js? [sm]:28 NOT_FOUND 未找到公共模块[fs]

uni-app 【报Bug】appInit.js? [sm]:28 NOT_FOUND 未找到公共模块[fs]

示例代码:

uni-starter插件的代码

操作步骤:

uni-starter创建一个新项目,修改config.json(配置小程序的appid和key)运行到微信开发者工具

预期结果:

本来是想用uni-starter直接生成 项目模板然后开发,

实际结果:

但发现有bug不能继续。点微信登录成功后,但不会显示登录的名称,同时也报这个bug

bug描述:

当有clientDB请求时,就会报这个错。
截图在附件
我是用插件市场里的uni-starter直接导入hbuilderx-alpa,然后个性config.json后运行小程序的。

https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20220407/1c23dbae44d19b9d77f9bec89234f871.png

相关链接:


更多关于uni-app 【报Bug】appInit.js? [sm]:28 NOT_FOUND 未找到公共模块[fs]的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

先用HBuilderX3.3.13版本。已在排查此问题,已加分,感谢您的反馈!

更多关于uni-app 【报Bug】appInit.js? [sm]:28 NOT_FOUND 未找到公共模块[fs]的实战教程也可以访问 https://www.itying.com/category-93-b0.html


相信你们很快搞定的,3.4版本才有importObject()直接调用云对象。所以我就用alpha版了。试用2个月hx,慢慢忘掉vs了。还是中国人懂中国人,加油!

借地儿报个bug:

前端联表查询,临时表副表schema如果有权限要求时,无论前端where是否过滤,都会导致权限未通过! 副表schema: “read”: “doc.user_set == ‘正常’”,
前端查询语句: let fav = db.collection(“biz-fav”).getTemp() let card = db.collection(fav,“biz-card”).where(“user_set == ‘正常’”).get()
如上情况,会报权限不通过
主贴: https://ask.dcloud.net.cn/question/142607

HX 3.4.5+ 版本已修复此问题

在 uni-app 开发过程中,遇到 NOT_FOUND 未找到公共模块[fs] 的错误,通常是因为你在代码中尝试使用了 Node.js 的核心模块 fs,但 uni-app 的运行环境并不支持 Node.js 的核心模块。

问题分析

fs 是 Node.js 的核心模块,用于文件系统操作。然而,uni-app 的运行环境是基于浏览器的(H5)或移动端(如微信小程序、App),这些环境并没有 Node.js 的 fs 模块。

解决方案

  1. 检查代码中是否有直接使用 fs 模块的地方: 如果你在代码中直接使用了 require('fs')import fs from 'fs',你需要找到替代方案。

  2. 使用 uni-app 提供的 API: uni-app 提供了丰富的 API 来处理文件系统操作,具体可以参考 uni-app 官方文档

    • H5 环境:可以使用浏览器的 FileReaderBlob 等 API 来处理文件。
    • 小程序/App 环境:可以使用 uni.chooseImageuni.uploadFileuni.saveFile 等 API 来处理文件。
  3. 使用第三方库: 如果你需要在 H5 环境中进行文件操作,可以使用一些浏览器兼容的库,比如 browserify-fs 或者 idb-keyval 等。

  4. 区分环境: 如果你需要在不同环境中使用不同的文件操作方式,可以使用 uni-app 提供的环境判断 API:

    // #ifdef H5
    // H5 环境下的文件操作
    // #endif
    
    // #ifdef MP-WEIXIN
    // 微信小程序环境下的文件操作
    // #endif
    
    // #ifdef APP-PLUS
    // App 环境下的文件操作
    // #endif
    

示例代码

假设你需要在 H5 环境中读取文件,可以使用 FileReader

// #ifdef H5
function readFile(file) {
  return new Promise((resolve, reject) => {
    const reader = new FileReader();
    reader.onload = () => resolve(reader.result);
    reader.onerror = () => reject(reader.error);
    reader.readAsText(file);
  });
}
// #endif
回到顶部