uni-app dev:h5 does not provide an export named 'json' 报错

发布于 1周前 作者 songsunli 来自 Uni-App

uni-app dev:h5 does not provide an export named ‘json’ 报错

示例代码:

"@dcloudio/types": "3.4.8",  
"@dcloudio/uni-automator": "3.0.0-4000620240325001",  
"@dcloudio/uni-cli-shared": "3.0.0-4000620240325001",  
"@dcloudio/uni-stacktracey": "3.0.0-4000620240325001",  
"@dcloudio/vite-plugin-uni": "3.0.0-4000620240325001",  
"@vue/runtime-core": "3.4.21",  
"vite": "4.3.5",
"@dcloudio/uni-app": "3.0.0-4000620240325001",  
"@dcloudio/uni-app-plus": "3.0.0-4000620240325001",  
"@dcloudio/uni-components": "3.0.0-4000620240325001",  
"@dcloudio/uni-h5": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-alipay": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-baidu": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-jd": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-kuaishou": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-lark": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-qq": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-toutiao": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-weixin": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-xhs": "3.0.0-4000620240325001",  
"@dcloudio/uni-quickapp-webview": "3.0.0-4000620240325001",

操作步骤:

"@dcloudio/types": "3.4.8",  
"@dcloudio/uni-automator": "3.0.0-4000620240325001",  
"@dcloudio/uni-cli-shared": "3.0.0-4000620240325001",  
"@dcloudio/uni-stacktracey": "3.0.0-4000620240325001",  
"@dcloudio/vite-plugin-uni": "3.0.0-4000620240325001",  
"@vue/runtime-core": "3.4.21",  
"vite": "4.3.5",
"@dcloudio/uni-app": "3.0.0-4000620240325001",  
"@dcloudio/uni-app-plus": "3.0.0-4000620240325001",  
"@dcloudio/uni-components": "3.0.0-4000620240325001",  
"@dcloudio/uni-h5": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-alipay": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-baidu": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-jd": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-kuaishou": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-lark": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-qq": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-toutiao": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-weixin": "3.0.0-4000620240325001",  
"@dcloudio/uni-mp-xhs": "3.0.0-4000620240325001",  
"@dcloudio/uni-quickapp-webview": "3.0.0-4000620240325001",

预期结果:

正常运行

实际结果:

今天新升级到 3.0.0-4000620240325001

dev:h5就直接报错

SyntaxError: The requested module '/wap/node_modules/@dcloudio/uni-cli-shared/lib/preprocess/lib/regexrules.js?v=e7db8eda' does not provide an export named 'json'

bug描述:

今天新升级到 3.0.0-4000620240325001

dev:h5就直接报错

SyntaxError: The requested module '/wap/node_modules/@dcloudio/uni-cli-shared/lib/preprocess/lib/regexrules.js?v=e7db8eda' does not provide an export named 'json'
信息类型 信息
产品分类 uniapp/H5
PC开发环境 Windows
PC开发环境版本 windows 11
浏览器平台 微信内置浏览器
浏览器版本 新版
项目创建方式 CLI
CLI版本号 3.0.0-4000620240325001

3 回复

感谢反馈,可以重装一下所有依赖试试


遇到了一样的问题,重新安装依赖问题依旧,最后如何解决的

在处理 uni-app dev:h5 does not provide an export named 'json' 这个报错时,首先要理解报错信息的含义。这通常意味着在你的代码中尝试从某个模块或库中导入一个名为 json 的导出项,但是该模块或库中并不存在这样的导出。在 uni-app 框架中,尤其是在开发 H5 应用时,你可能会遇到由于不正确的导入语句或者使用了不支持的库而导致的此类问题。

分析问题

  1. 检查导入语句: 确认你的代码中是否有类似 import { json } from 'some-module' 的语句。如果 some-module 并不导出 json,这将导致报错。

  2. 理解模块内容: 查阅你尝试导入的模块的文档,确认其导出项。如果模块确实不导出 json,你需要修改导入语句或寻找替代方案。

解决方案

由于 uni-app 和大多数 JavaScript 库/框架并不直接提供一个名为 json 的导出,你可能是在尝试导入一个不存在的功能或模块。以下是一些可能的解决方案和替代方法:

方案一:修正导入语句

如果你的意图是使用 JSON 数据,你不需要从任何模块导入它。JSON 是 JavaScript 的一个原生部分,你可以直接使用 JSON.parse()JSON.stringify()

// 正确使用 JSON
let jsonString = '{"name": "uni-app", "type": "framework"}';
let jsonObject = JSON.parse(jsonString);
console.log(jsonObject.name); // 输出: uni-app

方案二:检查第三方库

如果你是在尝试从第三方库导入 json,请确认该库是否支持导出 json。如果库不支持,你可能需要查找库的文档或使用其他库。

方案三:更新或替换依赖

如果问题是由于依赖库的旧版本或错误版本引起的,尝试更新到最新版本或替换为其他提供所需功能的库。

示例代码

以下是一个简单的示例,展示如何在 uni-app 的 H5 项目中正确使用 JSON:

// 在你的组件或页面中
export default {
  data() {
    return {
      user: null
    };
  },
  created() {
    let userJson = '{"name": "John Doe", "age": 30}';
    this.user = JSON.parse(userJson);
  }
};

确保你的导入语句正确无误,并且不要尝试从不存在的模块或库中导入 json。如果问题仍然存在,请检查你的项目依赖和配置。

回到顶部