HarmonyOS 鸿蒙Next ts/js兼容方案
HarmonyOS 鸿蒙Next ts/js兼容方案
需要同时考虑带UI组件和不带UI组件的场景
导出并引用har包的ArkUI组件,接口,资源等操作参考以下链接。har包导出的资源暂不支持在js文件中使用。
HAR-应用程序包开发与使用-应用程序包基础知识-开发基础知识-基础入门 - 华为HarmonyOS开发者
ets是ts的超集,只允许在ets中引入ts,不能在ts中引入ets,js同理。由于har包导出的所有东西,包括接口,组件,资源等都是ets封装的,故不能在ts/js文件中引用与调用。
.d.ts文件在ts中是全局声明文件,在ets中不支持。可以通过interface和type等来定义类型。
HarmonyOS 鸿蒙Next针对TS/JS的兼容方案,主要依赖于ArkTS语言及其相关机制。
ArkTS是HarmonyOS系统开发而设计的专用语言,它基于TypeScript(TS)扩展而来,继承了TS的基础语法并进行了优化。这使得开发者能够以更简洁自然的方式开发应用。由于ArkTS强制使用静态类型,并通过更严格的类型检查以减少运行时错误,因此相比JavaScript(JS)和TS,它在程序稳定性和性能上有所提升。
对于JS库,由于OpenHarmony开发框架中的API不完全兼容V8运行时的Build-In API,因此三方JS库大都需要适配后才能使用。在适配前,建议使用js-e2e扫描三方库,检查是否存在node.js/web内置模块的依赖,并根据扫描结果进行相应的适配工作。
如果开发者在兼容方案上遇到具体问题,可以参考HarmonyOS的官方文档或开发者社区的资源进行解决。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。