鸿蒙开发学习:【ets_frontend组件】

简介

ets_frontend组件是方舟运行时子系统的前端工具,结合ace-ets2bundle组件,支持将ets文件转换为方舟字节码文件。

ets_frontend组件架构图

目录

复制代码
/arkcompiler/ets_frontend/
├── test262            # test262测试配置和运行脚本
├── testTs             # 系统测试目录
├── es2panda
    ├── aot            # 逻辑入口
    ├── binder         # 信息绑定
    ├── compiler       # 编译逻辑
    ├── ir             # 字节码生成
    ├── lexer          # 词法分析
    ├── parser         # 语法解析,ast生成
    ├── scripts        # 脚本目录
    ├── test           # 测试目录
    ├── typescript     # typescript支持
    └── util           # 工具目录
├── ts2panda
    ├── doc            # 文档
    ├── scripts        # 依赖的脚本
    ├── src            # 源码存放目录
    ├── templates      # ruby模板文件
    ├── tests          # UT单元测试目录
    ├── tools          # ts2abc提供的工具
    └── ts2abc         # abc文件生成相关

编译构建

ets_frontend组件采用命令行交互方式,支持将JavaScript代码转换为方舟字节码文件,使其能够在方舟运行时上运行。支持Windows/Linux/MacOS平台。方舟前端工具在linux平台上可通过全量编译或指定编译前端工具链获取。

复制代码
$ ./build.sh --product-name rk3568 --build-target ets_frontend_build

使用说明

es2panda使用方式

使用ets_frontend组件下的es2abc可执行文件将JavaScript文件转换为方舟字节码文件

复制代码
$ cd out/rk3568/clang_x64/arkcompiler/ets_frontend/
$ ./es2abc [options] file.js

当不输入任何option参数时,默认生成方舟二进制文件。

<>

<><>选项 <><>描述 <><>取值范围 <><>默认值
<><>--debug-info <><>携带debug信息 <><>- <><>-
<><>--debugger-evaluate-expression <><>debugger下对输入的base64形式的表达式求值 <><>- <><>-
<><>--dump-assembly <><>输出为汇编文件 <><>- <><>-
<><>--dump-ast <><>打印解析得到的ast(抽象语法树) <><>- <><>-
<><>--dump-debug-info <><>打印debug信息 <><>- <><>-
<><>--dump-literal-buffer <><>打印literal buffer内容 <><>- <><>-
<><>--dump-size-stat <><>显示字节码相关的统计信息 <><>- <><>-
<><>--extension <><>指定输入类型 <><>['js', 'ts', 'as'] <><>-
<><>--help <><>帮助提示 <><>- <><>-
<><>--module <><>按照ESM模式编译 <><>- <><>-
<><>--opt-level <><>指定编译优化等级 <><>['0', '1', '2'] <><>0
<><>--output <><>输出文件路径 <><>- <><>-
<><>--parse-only <><>只对输入文件做解析动作 <><>- <><>-
<><>--thread <><>指定生成字节码时所用的线程数目 <><>0-机器支持的线程数目 <><>0

鸿蒙OpenHarmony知识已更新←前往

相关推荐
车载测试工程师3 小时前
CAPL学习-IP API函数-2
网络·学习·tcp/ip·capl·canoe
●VON3 小时前
在鸿蒙 PC 上使用 Electron 获取本机 IP 地址
tcp/ip·electron·harmonyos
汉堡黄3 小时前
鸿蒙开发:案例集合Tabs:tabs竖向粘性
harmonyos
YJlio4 小时前
进程和诊断工具学习笔记(8.29):ListDLLs——一眼看清进程里加载了哪些 DLL,谁在偷偷注入
android·笔记·学习
威哥爱编程4 小时前
【鸿蒙开发实战篇】如何基于一多能力实现响应式布局
harmonyos·arkts·arkui
威哥爱编程4 小时前
【鸿蒙开发实战篇】如何实现高级图片滤镜
harmonyos·arkts·arkui
威哥爱编程4 小时前
【鸿蒙开发实战篇】强大的跨应用数据分享与应用内文件共享
harmonyos·arkts·arkui
威哥爱编程4 小时前
【鸿蒙开发实战篇】如何利用 3D渲染引擎实现高性能动态滤镜特效
harmonyos·arkts·arkui
威哥爱编程4 小时前
【鸿蒙开发实战篇】滤镜效果图高效分享
harmonyos·arkts·arkui
S***q1924 小时前
HarmonyOS应用沙盒机制
华为·harmonyos