HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18)
HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18) 在entry模块中引入本地hsp模块后在项目根目录新建product文件夹将entry模块移入到product文件夹中修改entry模块名称为default 预览器白屏无显示,无报错
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%')
}
}
预览器白屏,无报错提示
更多关于HarmonyOS鸿蒙Next中修改Entry模块名称并且移动文件夹后预览器无显示API(18)的实战教程也可以访问 https://www.itying.com/category-93-b0.html
预览器不支持引用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 和所有引用路径:
- 在 Project 视图下,右键 entry 模块 → Refactor → Rename。
- 输入新名称(如 default),并确认 同时重命名目录。
- IDE 会自动把模块目录移动到 product/default/entry,并刷新所有索引。
楼主你可以重启一下IDE,重启后看看是否能解决问题。目前我新创建的项目,按照你的方法创建目录移动是没有问题。
请问想在项目中新建一个hsp模块在entry中引用同时也想在预览器中完成预览您使用的哪种方法,
在你的hsp项目中找到带有 @Entry 入口的页面,在点击PreViewer 预览页面,一样可以预览的。
移动模块位置并重命名后,预览器白屏通常是由于模块配置未同步更新导致的。请检查以下配置:
- 确认product/default/hvigorfile.ts中的模块名称已更新为"default"
- 检查根目录hvigorfile.ts中的模块引用路径是否更新为"./product/default"
- 验证oh-package.json5中的依赖路径是否正确指向新的模块位置
- 清理并重新构建项目(点击Build > Clean Project & Rebuild)
如果问题仍然存在,请检查预览器日志输出,可能包含更详细的错误信息。