2***@qq.com
2***@qq.com
  • 发布:2026-03-25 18:12
  • 更新:2026-03-25 18:13
  • 阅读:17

导入三方SDK报错"default" is not exported by

分类:uni小程序sdk

源码导入三方SDK
import GizSdk from './js/sdk.js'
直接报错"default" is not exported by "../../。。。。。。。

改成
import * as GizSdk from './js/sdk.js'
编译到小程序是
const GizSdk = require("./js/sdk.js");
无法使用

直接手动在小程序上改成
import GizSdk from './js/sdk.js'
又能用。。。。。。

有什么办法可以处理的????
三方SDK开头是
module.exports = function(e) {

2026-03-25 18:12 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库中的相关内容,这个问题是由于第三方 SDK 使用 CommonJS 语法(module.exports)而在 uni-app(特别是 Vue3/Vite 项目)中编译到微信小程序时,构建工具无法正确识别默认导出导致的。

参考插件市场中 小程序 SDK for 腾讯云对象存储服务 的处理方式,该插件明确说明"vue3 不支持小程序 amd 方式,修改为 es6 module"。

解决方案是修改 SDK 文件,在 module.exports 的基础上添加 ES6 Module 的导出语法:

修改方案:

在 SDK 文件(sdk.js)的末尾,添加以下代码:

// 保持原有的 CommonJS 导出  
module.exports = function(e) {  
  // ... 原有代码  
}  

// 添加 ES6 默认导出,适配 uni-app 编译  
export default module.exports;

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

或者直接将 SDK 改为 ES6 Module 格式:

export default function(e) {  
  // ... 原有代码  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

其他注意事项:

  1. 如果 SDK 文件不允许直接修改,可以创建一个包装文件(如 sdk-wrapper.js):

    import sdk from './js/sdk.js'  
    export default sdk

    本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent
    然后在业务代码中引入包装文件。

  2. 对于微信小程序平台,也可以在 manifest.json 中配置 "usingComponents": true 或检查 vue.config.js/vite.config.js 的构建配置,但直接修改 SDK 的导出方式是最可靠的解决方案。

修改后,即可正常使用 import GizSdk from './js/sdk.js' 进行导入。

内容为 AI 生成,仅供参考

要回复问题请先登录注册