HarmonyOS 鸿蒙Next Previewer预览器编译时的Bug,自定义组件带参数转js中间文件遗留导致的错误

HarmonyOS 鸿蒙Next Previewer预览器编译时的Bug,自定义组件带参数转js中间文件遗留导致的错误 就是在 官方的ArkTS应用开发实践入门课 上的代码(gitee源码地址),在此基础上稍微改动了一下,比如

// ToDoItem({ content: 'xxx' })  // 尝试这样,预览一下
// ToDoItem()  // 试试这样,预览一下
// 然后..
ForEach(this.totalTasks, (item) => {
    Text(item)
    ToDoItem({ content: item })
   // ???? 这里为什么编译会报错!!!
}, item => JSON.stringify(item))

因为语法错误,导致 自定义组件ToDoItem在预览编译过程中意外中断而产生了两个应删除的文件(.js和.map文件),

随后,即使把代码改回来去,跟原正常运行代码一模一样,也无法编译通过,报错始终指向那个js文件里。。

于是,折腾一两个小时后,对比正常代码里没有这两个文件,我才怀疑或许是编译没有更新这两个文件…

于是,我把它们删了,再刷新一下Previewer,编译果然通过了,预览终于正常了!!!

建议:

  1. 优化Previewer的编译过程,具体我也不是很懂,你们应该可以复现这个错误。如果不能,可以联系我,我发zip给你们。谢谢。
  2. Previewer的刷新功能,能否设置一个自定义快捷键,Ctrl+S 有时似乎不能全部刷新。

更多关于HarmonyOS 鸿蒙Next Previewer预览器编译时的Bug,自定义组件带参数转js中间文件遗留导致的错误的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

更多关于HarmonyOS 鸿蒙Next Previewer预览器编译时的Bug,自定义组件带参数转js中间文件遗留导致的错误的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


这个预览新增.js和.map文件是已知问题哈,目前只能手动删除。关于您说的ctrl+s具体是哪些场景无法刷新,能具体描述下吗

找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:BV1S4411E7LY/?p=17

嗯,我已了解到了,估计你们后面会优化更新它。

至于Ctrl+S,这个我也不好确定,只是有时我必须重新点Previewer面板,让它重新编译才看得到预览结果。另外Ctrl+S也没有清空PreviewLog里的红色报错,所以我以为Ctrl+S只是“局部刷新”,而我建议的是能否加一个“全局刷新”。

哈哈,感谢回复 ^_^,

在HarmonyOS鸿蒙Next Previewer预览器编译过程中,自定义组件带参数转js中间文件时可能会遗留错误。具体表现为,组件在转换过程中未能正确处理参数传递,导致生成的js文件中参数缺失或错误。这种问题通常是由于编译器在处理自定义组件参数时未能完全遵循鸿蒙Next的规范,或者在参数传递过程中出现了类型不匹配或解析错误。解决此类问题需要检查组件定义和参数传递的逻辑,确保符合鸿蒙Next的API规范,并验证编译器版本是否支持最新的语法和特性。

回到顶部