HarmonyOS 鸿蒙Next Beta三层结构,product页面引用common的常量文件时报错

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Beta三层结构,product页面引用common的常量文件时报错

Next Beta三层结构,product页面引用common的常量文件时在文件头导入该文件,product下的oh-package.json5修改了依赖关系并同步刷新,预览页面时报错。screenshot-1719574251626.pngscreenshot-1719574351968.pngscreenshot-1719574451010.pngscreenshot-1719574831775.png

9 回复
product层下的常量文件可以正常导入使用,跨层使用报错
新建项目,全部重来一遍,报错变为Cannot find name 'common'. Did you mean 'Common'?,依赖关系已经配置,common层的常量文件已经导出,common层的index.ets已经导出,product层的页面文件已经导入,字母大小写已经检查,唯一的错误就是product层的页面文件代码
楼主您好,Stage工程编译构建期的语法校验工具对js文件不作检查,因此当使用export * from 'x.js’导出js文件中的符号时,符号引用处便会提示"Module ‘xxx’ has no exported member ‘yyy’"的错误信息。可尝试通过如下方式进行解决:

方法1(推荐使用): 使用符号显式导出语法,从js文件中re-export符号 。export { yyy } from 'x.js'

方法2:新增x.js对应的声明文件(.d.ts),并在引用时不指定后缀。

不是JS文件,只是定义常量的文件

SplashPage.ets有@Entry修饰符,文件头import导入

product层级的SplashPage页面引用common层级的StyleConstants常量文件(在这个常量文件中导出),product层级的oh-pacage.json5文件配置依赖关系并同步刷新,代码检查报错XXX has no exported member YYY

index 中导出的吗

common层的index也导出了

针对HarmonyOS 鸿蒙Next Beta三层结构中,product页面引用common的常量文件时报错的问题,这通常是由于依赖关系未正确配置或文件导出、导入方式有误所导致。

首先,请确保common层的常量文件已经正确导出,并且在product层的页面文件中已经正确导入。如果使用的是export语法导出常量,请检查是否使用了正确的导出方式,如使用符号显式导出语法。

其次,检查product层下的oh-package.json5文件,确保已经正确配置了common层的依赖关系,并且已经同步刷新。

最后,如果以上步骤均无误,但问题依旧存在,可能是由于编译构建期的语法校验工具对文件类型的检查不严格所导致。此时,可以尝试新增对应的声明文件(.d.ts),并在引用时不指定后缀。

鸿蒙Next教程已发布,可以先学学https://www.itying.com/category-93-b0.html

回到顶部