HarmonyOS 鸿蒙Next 媒体查询提示在导入模块时找不到对应的导出

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

HarmonyOS 鸿蒙Next 媒体查询提示在导入模块时找不到对应的导出 我在使用开发文档提供的代码 开发文档对应地址 就是这个地址,使用了这个代码,提示了这么一个错误,大致内容是显示在导入模块时找不到名为’BreakpointState’的导出,这个是详细错误信息:

Error message:the requested module '@normalized:N&&common&&common/src/main/ets/utils/BreakPointSystem&' does not provide an export name 'BreakpointState' which imported by '&default/src/main/ets/pages/Page02_GuidePage&'
Stacktrace:
Cannot get SourceMap info, dump raw stack:
#01 pc 00000000007820b7 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#02 pc 00000000003606bc /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#03 pc 00000000001e3378 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#04 pc 00000000001e2bd1 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#05 pc 000000000027cc21 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#06 pc 0000000000658b25 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#07 pc 000000000065520e /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#08 pc 00000000005c4128 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#09 pc 00000000005c3145 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#10 pc 00000000005c2ba1 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#11 pc 000000000048bc96 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#12 pc 000000000048cc7b /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#13 pc 000000000063d789 /system/lib64/platformsdk/libark_jsruntime.so(d1607e76495a62e1af8da67b7cc38811)
#14 pc 0000000002ca49f0 /system/lib64/platformsdk/libace_compatible.z.so(074b7d2cf9c8836ae12b13ac14b16e67)
#15 pc 0000000002b795fa /system/lib64/platformsdk/libace_compatible.z.so(074b7d2cf9c8836ae12b13ac14b16e67)

但是我是直接复制粘贴的文档内的文件,我也在common的index文件中已经将BreakpointState暴露出来了的(他的文件中我唯一修改的部分,他的文件名字是breakpointsystem.ets,我的文件名字是BreakPointSystem.ets,并且他的文件中类名BreakpointSystem我把它改成了BreakPointSystem。就只改动了这两个地方)

这是我的common/index文件:

export { add } from './src/main/ets/utils/Calc'
export { EmptyView } from './src/main/ets/components/EmptyView'
export { BreakPointSystem } from './src/main/ets/utils/BreakPointSystem'
export { BreakpointState } from './src/main/ets/utils/BreakPointSystem'
export { BreakPointConstants } from './src/main/ets/constants/BreakPointConstants'

这是我的页面代码(与文档相同的部分,我已经标注):

//引导页
import { BasicConstants } from '../Constants/BasicConstants'
//响应式适配
import { BreakpointState, BreakPointSystem } from 'common/src/main/ets/utils/BreakPointSystem'

import { router } from '@kit.ArkUI';
import { LoginPanel } from '@hms.core.account.LoginComponent';

@Entry
@Component
struct Page02_GuidePage {
  @State message: string = 'Hello World1';
  @State time: number = 3;
  private timer: number = 0;
  @State flag: number = 1

  /**
   * 与文档相同
   */
  @State compStr: BreakpointState<string> = BreakpointState.of({ sm: "sm", md: "md", lg: "lg" })
  @State compImg: BreakpointState<Resource> = BreakpointState.of({
    sm: $r('app.media.startIcon'),
    md: $r('app.media.layered_image'),
    lg: $r('app.media.background')
  });

  /**
   *   end
   */

  //三秒跳到主页
  aboutToAppear(): void {
    /**
     * 与文档相同
     */
    BreakPointSystem.getInstance().attach(this.compStr)
    BreakPointSystem.getInstance().attach(this.compImg)
    BreakPointSystem.getInstance().start()
    /**
     *   end
     */

    /**
     * 定时器
     */
    this.timer = setInterval(() => {
      this.time--
      if (this.time == 0) { //三秒之后跳到主页中去
        /**
         * router.replaceUrl({
         *   url:"pages/Index"
         * })
         */
      }
    }, 1000) //这个和上面的哪个3000-含义不懂,这里的这个1000表示,每隔一秒钟,执行一次this.time--,上面的3000指的是倒计时3秒

  }

  aboutToDisappear(): void {
    /**
     * 与文档相同  start
     */
    BreakPointSystem.getInstance().detach(this.compStr)
    BreakPointSystem.getInstance().detach(this.compImg)
    BreakPointSystem.getInstance().stop()
    /**
     *   end
     */
  }
  build() {

    Stack({ alignContent: Alignment.TopEnd }) {
      Text(`倒计时:${this.time}`)
        .fontColor(Color.Black)
        .fontSize(14)
        .margin({
          top: 20,
          right: 30
        })
        .backgroundColor("#ffdddddd")
        .padding({
          top: 5,
          bottom: 5,
          right: 10,
          left: 10
        })
        .borderRadius(20)
      Text(this.compStr.value)
        .fontSize(24)
        .margin(10)

      Flex({
        direction: FlexDirection.Column, //direction:FlexDirection.RowReverse排序的主轴方向是水平反方向
        alignItems: ItemAlign.Center //交叉轴的排序方式。主轴是横轴,交叉轴就是竖轴
      }) {

        //存放logo
        Column() {
        Image($r("app.media.woniulogo"))
          .width(100 * this.flag)
          .objectFit(ImageFit.Contain)
          .borderRadius(20)
          .backgroundColor("#ffe2e2d8")
        }

        .justifyContent(FlexAlign.Center)
        .alignItems(HorizontalAlign.Center)
          .flexGrow(1)

        Image($r("app.media.woniulogo2"))
          .height(27 * this.flag)
          .width(114 * this.flag)
        Text("WoNiuMall超市")
          .fontColor('#66000000')
          .fontSize(20 * this.flag)
          .letterSpacing(10)//控制字母之间的间距
          .margin({
            top: 12,
            bottom: 136
          })

      }
      .height(BasicConstants.FULL_HEIGHT)
      .width(BasicConstants.FULL_WIDTH)

      /**
       * .backgroundColor(Color.Gray)
       */
    }
  }
}

麻烦大佬帮我看一下这个是怎么回事呀?


更多关于HarmonyOS 鸿蒙Next 媒体查询提示在导入模块时找不到对应的导出的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next 媒体查询提示在导入模块时找不到对应的导出的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题“HarmonyOS 鸿蒙Next 媒体查询提示在导入模块时找不到对应的导出”的问题,这通常是因为以下几个原因:

  1. 模块路径错误:检查你导入模块的路径是否正确。在鸿蒙系统中,模块的路径需要精确匹配,确保没有拼写错误或路径层级错误。

  2. 模块未正确安装或编译:确保你所需的模块已经被正确安装在你的鸿蒙开发环境中,并且已经完成了必要的编译过程。

  3. 导出声明缺失:在鸿蒙的模块系统中,每个导出的接口或功能都需要在模块的导出声明中明确指定。如果模块中缺少对应的导出声明,那么在尝试导入时就会出现找不到导出的错误。

  4. 版本不兼容:如果你正在使用的鸿蒙版本与你尝试导入的模块版本不兼容,也可能会导致这个问题。检查你的鸿蒙系统版本和模块版本是否匹配。

  5. 权限问题:在某些情况下,权限设置可能阻止模块的正确导入。确保你的应用或开发环境有足够的权限来访问和导入所需的模块。

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

回到顶部