簡介
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 |
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
59文章
2507瀏覽量
43765
發布評論請先 登錄
相關推薦
熱點推薦
鴻蒙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
【「極速探索HarmonyOS NEXT 」閱讀體驗】 初印象:一本純血鴻蒙應用開發入門的好書
非常有幸的于近日收到了電子發燒友寄來的《 極速探索HarmonyOS NEXT **** 純血鴻蒙應用開發實踐》這本由清華大學出版社出版的一本純血鴻蒙應用開發
發表于 03-04 12:41
《HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發
《HarmonyOS第一課》煥新升級,賦能開發者快速掌握鴻蒙應用開發 隨著HarmonyOS NEXT發布,鴻蒙生態日益壯大,廣大開發者對于
發表于 01-02 14:24
OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發板演示
開源鴻蒙OpenHarmony系統下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區推薦

鴻蒙原生開發手記:01-元服務開發
簡介
元服務是鴻蒙中的一種輕量應用形態,無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務更加輕量。
元服務使用原生開發,是系統級提供的,無論從易用性、性能、體驗上,都要比小程序好
發表于 11-14 17:28
鴻蒙Taro實戰:01-搭建開發環境
!?
安裝鴻蒙插件
yarn add @tarojs/plugin-platform-harmony-ets
yarn add path
修改編譯配置
找到 config/index.ts 文件
發表于 11-06 16:42
鴻蒙Flutter實戰:07混合開發
# 鴻蒙Flutter實戰:混合開發
鴻蒙Flutter混合開發主要有兩種形式。
## 1.基于har
將flutter module打包成har包,在原生
發表于 10-23 16:00
鴻蒙Flutter實戰:06-使用ArkTs開發Flutter鴻蒙插件
# 使用 ArkTs 開發 Flutter 鴻蒙平臺插件
本文講述如何開發一個 Flutter 鴻蒙插件,如何實現 Flutter 與鴻蒙
發表于 10-22 21:56
鴻蒙開發組件:DataAbility的生命周期
應用開發者可以根據業務場景實現data.js/data.ets中的生命周期相關接口。DataAbility生命周期接口說明見下表。
鴻蒙開發:創建PageAbility
通過DevEco Studio開發平臺創建PageAbility時,DevEco Studio會在app.js/app.ets中默認生成onCreate()和onDestroy()方法,其他方法需要開發者自行實現。

評論