鸿蒙开发学习:【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知识已更新←前往

9a8c4b910dfe99cc499c69583d04d170.jpeg

相关推荐

  1. 鸿蒙(HarmonyOS)应用开发——web

    2024-03-11 09:18:04       64 阅读
  2. 鸿蒙开发:【PageAbility概述+配置】

    2024-03-11 09:18:04       29 阅读
  3. 鸿蒙组件学习_Text

    2024-03-11 09:18:04       31 阅读
  4. 鸿蒙组件学习_Tabs

    2024-03-11 09:18:04       39 阅读
  5. 鸿蒙组件学习_Image

    2024-03-11 09:18:04       39 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 09:18:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 09:18:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 09:18:04       82 阅读
  4. Python语言-面向对象

    2024-03-11 09:18:04       91 阅读

热门阅读

  1. 流量分析-webshell管理工具

    2024-03-11 09:18:04       44 阅读
  2. go gin中间件关于 c.next()、c.abort()和return的使用

    2024-03-11 09:18:04       49 阅读
  3. Docker基础—CentOS中Docker安装部署

    2024-03-11 09:18:04       47 阅读
  4. neo4j

    2024-03-11 09:18:04       45 阅读
  5. RabbitMQ

    RabbitMQ

    2024-03-11 09:18:04      35 阅读
  6. Docker入门指南: 创新的容器化技术

    2024-03-11 09:18:04       40 阅读
  7. 主流开发语言与环境介绍

    2024-03-11 09:18:04       45 阅读
  8. elementPlus的坑

    2024-03-11 09:18:04       43 阅读
  9. 各种环境下载链接

    2024-03-11 09:18:04       43 阅读
  10. 轻量脚本语言Lua的配置与c++调用

    2024-03-11 09:18:04       42 阅读
  11. linux系统Docker容器Dockerfile简单描述

    2024-03-11 09:18:04       43 阅读
  12. 创建旅游景点图数据库Neo4J技术验证

    2024-03-11 09:18:04       38 阅读