簡介
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 |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
60文章
2963瀏覽量
45883
發布評論請先 登錄
相關推薦
熱點推薦
鴻蒙非侵入式彈窗新解法,企查查正式開源“QuickDialog”彈窗組件庫
近日,企查查將其自研的鴻蒙彈窗組件庫“QuickDialog”開源,并上線至?OpenHarmony 三方庫中心倉。這是鴻蒙生態首個支持“彈窗堆棧暫存能力”的非侵入式彈窗解決方案,憑借其靈活、高效
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數
【HarmonyOS 5】鴻蒙頁面和組件生命周期函數 ##鴻蒙開發能力 ##HarmonyOS SDK應用服務##鴻蒙金融類應用 (金融理財
飛書開源“RTV”富文本組件 重塑鴻蒙應用富文本渲染體驗
更高效的富文本解決方案。 富文本作為內容展示和信息交互的重要形式,在內容創作、辦公協作、教育學習、企業應用等多種復雜業務場景中扮演著重要角色。隨著鴻蒙生態應用類型的不斷豐富,富文本渲染成為各類應用開發過程中不可或缺的基礎能力。
鴻蒙5開發寶藏案例分享---Swiper組件性能優化實戰
鴻蒙寶藏:Swiper組件性能優化實戰,告別卡頓丟幀!
大家好!最近在鴻蒙開發時,偶然發現了官方文檔里埋藏的 性能優化寶藏案例 ,尤其是<span class=\"
發表于 06-12 17:53
鴻蒙5開發寶藏案例分享---性能優化案例解析
鴻蒙性能優化寶藏指南:實戰工具與代碼案例解析
大家好呀!今天在翻鴻蒙開發者文檔時,意外挖到一個 性能優化寶藏庫 ——原來官方早就提供了超多實用工具和案例,但很多小伙伴可能沒發現!這篇就帶大家手把手
發表于 06-12 16:36
鴻蒙5開發寶藏案例分享---三折疊應用開發分享
鴻蒙三折疊應用開發寶藏分享:官方案例詳解與實戰代碼
大家好呀!今天在翻鴻蒙文檔時發現一個 超級寶藏 ——官方提供的三折疊開發案例!之前總覺得多設備適配復雜,沒想到HarmonyOS早就
發表于 06-12 15:47
使用DevEcoStudio 開發、編譯鴻蒙 NEXT_APP 以及使用中文插件
# 使用DevEcoStudio 開發、編譯鴻蒙 NEXT_APP 以及使用中文插件 #鴻蒙開發工具 #DevEco Studio
## 1. 概述
DevEco Studio 是
發表于 06-11 17:18
潤和軟件旗下潤開鴻亮相開源鴻蒙開發者大會2025
近日,開源鴻蒙開發者大會2025(OHDC.2025)于深圳再啟新篇,會上正式發布了開源鴻蒙5.1 Release版本,并進行開源鴻蒙應用技術組件
鴻蒙5開發寶藏案例分享---一多斷點開發實踐
?【鴻蒙開發實戰進階】六大核心案例深度拆解,帶你玩轉多端適配!? 案例4:動態網格布局(電商商品列表)應用場景:手機/平板商品展示差異
痛點分析:手機單列→平板多列,需智能計算展示數量
發表于 05-30 11:08
2025開源鴻蒙開發者大會圓滿落幕
近日,開源鴻蒙開發者大會2025(OHDC.2025,簡稱“大會”)在深圳隆重開幕。大會正式發布了開源鴻蒙5.1 Release版本,舉行了開源鴻蒙應用技術
鴻蒙北向開發OpenHarmony5.0 DevEco Studio開發工具安裝與配置
本文介紹OpenHarmony5.0 DevEco Studio開發工具安裝與配置,鴻蒙北向開發入門必備!由觸覺智能Purple Pi OH鴻蒙開發
開源啦!!!基于鴻蒙ArkTS封裝的圖表組件《McCharts》,大家快來一起共創
Hello;大家好,我是陳楊。好久沒更新了,首先是自己本職工作比較忙,基本沒時間寫作。其次就是學習技術,自學鴻蒙ArkTS語言已經接近半年了,也算半路出師了,這次將分享我封裝的組件庫,所以有啥講錯
發表于 03-15 15:21
鴻蒙開發學習:【ets_frontend組件】
評論