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后运行小程序的。
相关链接:
更多关于uni-app 【报Bug】appInit.js? [sm]:28 NOT_FOUND 未找到公共模块[fs]的实战教程也可以访问 https://www.itying.com/category-93-b0.html
先用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
模块。
解决方案
-
检查代码中是否有直接使用
fs
模块的地方: 如果你在代码中直接使用了require('fs')
或import fs from 'fs'
,你需要找到替代方案。 -
使用 uni-app 提供的 API: uni-app 提供了丰富的 API 来处理文件系统操作,具体可以参考 uni-app 官方文档。
- H5 环境:可以使用浏览器的
FileReader
、Blob
等 API 来处理文件。 - 小程序/App 环境:可以使用
uni.chooseImage
、uni.uploadFile
、uni.saveFile
等 API 来处理文件。
- H5 环境:可以使用浏览器的
-
使用第三方库: 如果你需要在 H5 环境中进行文件操作,可以使用一些浏览器兼容的库,比如
browserify-fs
或者idb-keyval
等。 -
区分环境: 如果你需要在不同环境中使用不同的文件操作方式,可以使用 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