HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18)

HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18) 在entry模块中引入本地hsp模块后在项目根目录新建product文件夹将entry模块移入到product文件夹中修改entry模块名称为default 预览器白屏无显示,无报错

cke_4770.png

default/src/main/ets/pages/index.ets文件代码为

import { add, EmptyView } from "common";
@Entry
@Component
struct Index {
  @State message: string = 'Entry Index';
  aboutToAppear(): void {
    console.log(`${add(1, 2)}`)
  }

  build() {
    Column() {
      Text(this.message)
        .fontSize(20)
      EmptyView()
    }
    .height('100%')
    .width('100%')
  }
}

预览器白屏,无报错提示

cke_31781.png


更多关于HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18)的实战教程也可以访问 https://www.itying.com/category-93-b0.html

10 回复

预览器不支持引用HSP模块,若项目中依赖HSP模块,会导致资源加载失败

在build-profile.json5中检查module字段配置

"targets": [
  {
    "name": "default",
    "runtimeOS": "HarmonyOS",
    "modulePaths": ["product/default"] // 确保路径正确
  }
]

打开预览器日志(通过预览器右上角 Open Log 按钮),查看是否有隐藏的加载错误

更多关于HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18)的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


楼主的主要问题再以下三个方面:

1 移动后的product/default模块没有正确声明为entry类型,看一下product/default/src/main/module.json5文件中的配置:

{
  "module": {
    "type": "entry", //这里为entry类型
    "mainElement": "pages/Index" //指向@Entry修饰的组件路径
  }
}

2 移动模块目录后未同步更新构建配置,导致IDE无法正确识别模块关系

楼主在根目录的build-profile.json5中调整模块路径声明:

"products": [{
  "name": "default",
  "signingConfig": "default",
  "modules": [{
    "name": "entry", //保持原始名称避免混淆
    "srcPath": "product/default" //指向新路径
  }]
}]

3 预览器不支持直接引用HSP模块的运行时逻辑(这里我认为是主要的),要通过Mock机制处理,在src/mock/mock-config.json5中添加HSP的模拟接口:

{
  "hspDependencies": [{
    "name": "common",
    "mockEntries": [{
      "name": "EmptyView",
      "component": "mock/EmptyView.ets" //创建模拟组件
    }]
  }]
}

请教一下您,在开发过程中在项目的根目录添加了一个名为common的HSP模块,如果想引用这个hsp模块的时候,需要在每一个想要引用HSP的model中的oh-package中"dependencies “中都添加"common”:"fail:…/common"依赖吗,

1、重启编辑器

2、运行到模拟器,查看报错信息

可以使用 DevEco Studio 的 Rename Module 机制

不要手动改文件夹名,而是通过 IDE 自动重命名,它会同步更新 build-profile.json5、settings.gradle 和所有引用路径:

  1. 在 Project 视图下,右键 entry 模块 → Refactor → Rename。
  2. 输入新名称(如 default),并确认 同时重命名目录。
  3. IDE 会自动把模块目录移动到 product/default/entry,并刷新所有索引。

楼主你可以重启一下IDE,重启后看看是否能解决问题。目前我新创建的项目,按照你的方法创建目录移动是没有问题。

cke_2363.png

请问想在项目中新建一个hsp模块在entry中引用同时也想在预览器中完成预览您使用的哪种方法,

在你的hsp项目中找到带有 @Entry 入口的页面,在点击PreViewer 预览页面,一样可以预览的。

在HarmonyOS Next中,修改Entry模块名称或移动文件夹后,预览器无法显示API 18内容,通常是由于模块配置未同步更新导致。请检查模块目录下的module.json5文件,确保namesrcEntry路径与新结构一致。同步后执行Build > Refresh Linked C++ Projects并清理项目(Build > Clean Project)即可恢复预览功能。

移动模块位置并重命名后,预览器白屏通常是由于模块配置未同步更新导致的。请检查以下配置:

  1. 确认product/default/hvigorfile.ts中的模块名称已更新为"default"
  2. 检查根目录hvigorfile.ts中的模块引用路径是否更新为"./product/default"
  3. 验证oh-package.json5中的依赖路径是否正确指向新的模块位置
  4. 清理并重新构建项目(点击Build > Clean Project & Rebuild)

如果问题仍然存在,请检查预览器日志输出,可能包含更详细的错误信息。

回到顶部