HarmonyOS 鸿蒙Next npm引用三方库时出现“has no default export”

HarmonyOS 鸿蒙Next npm引用三方库时出现“has no default export”

ts新人,在ets工程中引用pako,出现Module ‘“d:/harmony/code/MyApplication1/entry/node_modules/pako/index”’ has no default export. <tsCheck>,但在示例工程是可以使用的,请问谁可以指点是什么原因导致,如何解决?感谢!

自己创建的工程引用:

cke_2121.png

示例工程引用:

cke_4809.png


更多关于HarmonyOS 鸿蒙Next npm引用三方库时出现“has no default export”的实战教程也可以访问 https://www.itying.com/category-93-b0.html

4 回复

示例工程在哪呀,链接给一下,我看看!

更多关于HarmonyOS 鸿蒙Next npm引用三方库时出现“has no default export”的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


CommonsCompressEts

  • 仓库名称 : CommonsCompressEts

  • 仓库描述 : 此仓库用于存放Compress组件的示例代码

  • 主要功能 :

    • 提供文件压缩与解压的功能
    • 支持多种压缩算法
  • 相关链接 :

经过不断查找资料和尝试,发现pako有@types的版本(其最新版本与JS最新版本不一致),而且在示例工程中并没有使用ts的版本,示例工程中的pako使用的JS版本,是commonJS的规范,而鸿蒙使用的是ES6的规范,奇怪的是鸿蒙示例工程里面可以引用commonJS规范的三方包,但在实际鸿蒙应用开发中引用却不可行。

在HarmonyOS(鸿蒙)开发环境中,当使用npm引用第三方库时遇到“has no default export”错误,这通常意味着你尝试以默认导出的方式引入了一个没有默认导出的模块。鸿蒙系统虽然支持使用JavaScript及相关技术进行开发,但其模块系统可能与Node.js或浏览器环境有所不同,尤其是在处理ES6模块导入导出时。

针对这个问题,你可以尝试以下几种解决方法:

  1. 检查导入语句:确保你的导入语句与第三方库的导出方式相匹配。如果该库使用命名导出而非默认导出,你应使用解构赋值来导入所需的功能。

  2. 查阅文档:查看第三方库的文档,了解其导出方式。这有助于你正确地导入所需的功能。

  3. 更新npm包:有时候,库的更新版本会修复导出相关的问题。尝试更新到最新版本可能有助于解决问题。

  4. 检查鸿蒙环境兼容性:确认该第三方库是否支持鸿蒙开发环境。有些库可能只针对特定的运行环境进行了优化。

如果上述方法均未能解决问题,可能是该库与鸿蒙环境的兼容性问题。此时,你可以考虑寻找替代库或自行实现所需功能。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部