簡介
ets_frontend組件是方舟運行時子系統(tǒng)的前端工具,結合ace-ets2bundle組件,支持將ets文件轉換為方舟字節(jié)碼文件。
ets_frontend組件架構圖
目錄
/arkcompiler/ets_frontend/
├── test262 # test262測試配置和運行腳本
├── testTs # 系統(tǒng)測試目錄
├── es2panda
├── aot # 邏輯入口
├── binder # 信息綁定
├── compiler # 編譯邏輯
├── ir # 字節(jié)碼生成
├── lexer # 詞法分析
├── parser # 語法解析,ast生成
├── scripts # 腳本目錄
├── test # 測試目錄
├── typescript # typescript支持
└── util # 工具目錄
├── ts2panda
├── doc # 文檔
├── scripts # 依賴的腳本
├── src # 源碼存放目錄
├── templates # ruby模板文件
├── tests # UT單元測試目錄
├── tools # ts2abc提供的工具
└── ts2abc # abc文件生成相關
編譯構建
ets_frontend組件采用命令行交互方式,支持將JavaScript代碼轉換為方舟字節(jié)碼文件,使其能夠在方舟運行時上運行。支持Windows/Linux/MacOS平臺。方舟前端工具在linux平臺上可通過全量編譯或指定編譯前端工具鏈獲取。
$ ./build.sh --product-name rk3568 --build-target ets_frontend_build
使用說明
es2panda使用方式
使用ets_frontend組件下的es2abc可執(zhí)行文件將JavaScript文件轉換為方舟字節(jié)碼文件
$ cd out/rk3568/clang_x64/arkcompiler/ets_frontend/
$ ./es2abc [options] file.js
當不輸入任何option參數(shù)時,默認生成方舟二進制文件。
[]()
[]()[]()選項 | []()[]()描述 | []()[]()取值范圍 | []()[]()默認值 |
---|---|---|---|
[]()[]()--debug-info | []()[]()攜帶debug信息 | []()[]()- | []()[]()- |
[]()[]()--debugger-evaluate-expression | []()[]()debugger下對輸入的base64形式的表達式求值 | []()[]()- | []()[]()- |
[]()[]()--dump-assembly | []()[]()輸出為匯編文件 | []()[]()- | []()[]()- |
[]()[]()--dump-ast | []()[]()打印解析得到的ast(抽象語法樹) | []()[]()- | []()[]()- |
[]()[]()--dump-debug-info | []()[]()打印debug信息 | []()[]()- | []()[]()- |
[]()[]()--dump-literal-buffer | []()[]()打印literal buffer內(nèi)容 | []()[]()- | []()[]()- |
[]()[]()--dump-size-stat | []()[]()顯示字節(jié)碼相關的統(tǒng)計信息 | []()[]()- | []()[]()- |
[]()[]()--extension | []()[]()指定輸入類型 | []()[]()['js', 'ts', 'as'] | []()[]()- |
[]()[]()--help | []()[]()幫助提示 | []()[]()- | []()[]()- |
[]()[]()--module | []()[]()按照ESM模式編譯 | []()[]()- | []()[]()- |
[]()[]()--opt-level | []()[]()指定編譯優(yōu)化等級 | []()[]()['0', '1', '2'] | []()[]()0 |
[]()[]()--output | []()[]()輸出文件路徑 | []()[]()- | []()[]()- |
[]()[]()--parse-only | []()[]()只對輸入文件做解析動作 | []()[]()- | []()[]()- |
[]()[]()--thread | []()[]()指定生成字節(jié)碼時所用的線程數(shù)目 | []()[]()0-機器支持的線程數(shù)目 | []()[]()0 |
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
鴻蒙
+關注
關注
57文章
2397瀏覽量
43098
發(fā)布評論請先 登錄
相關推薦
AIGC入門及鴻蒙入門
JDK、配置SDK等。
3. 開發(fā)實踐: 學習鴻蒙系統(tǒng)的架構和API,了解其組件化、分布式等特性。 通過官方文檔和社區(qū)資源,學習和掌握
發(fā)表于 01-13 10:32
鴻蒙原生開發(fā)手記:01-元服務開發(fā)
簡介
元服務是鴻蒙中的一種輕量應用形態(tài),無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務更加輕量。
元服務使用原生開發(fā),是系統(tǒng)級提供的,無論從易用性、性能、體驗上,都要比小程序好
發(fā)表于 11-14 17:28
鴻蒙Flutter實戰(zhàn):07混合開發(fā)
# 鴻蒙Flutter實戰(zhàn):混合開發(fā)
鴻蒙Flutter混合開發(fā)主要有兩種形式。
## 1.基于har
將flutter module打包成har包,在原生
發(fā)表于 10-23 16:00
鴻蒙開發(fā)組件:DataAbility的生命周期
應用開發(fā)者可以根據(jù)業(yè)務場景實現(xiàn)data.js/data.ets中的生命周期相關接口。DataAbility生命周期接口說明見下表。
鴻蒙開發(fā)就業(yè)前景到底怎么樣?
鴻蒙, 作為華為自主研發(fā)的基于微內(nèi)核的下一代操作系統(tǒng),正在逐漸走進人們的視野 。隨著鴻蒙系統(tǒng)的不斷發(fā)展和完善,越來越多的人開始關注鴻蒙開發(fā)這一領域,想要了解
發(fā)表于 05-09 17:37
HarmonyOS實戰(zhàn)開發(fā)-如何使用全局狀態(tài)保留能力彈窗來實現(xiàn)評論組件。
層-短視頻切換
||---CommentView.ets // 視圖層-評論組件
模塊依賴
路由模塊:供entry模塊實現(xiàn)路由導航
公共模塊:全局狀態(tài)保留能力彈窗
最后
如果大家覺得這篇內(nèi)容對學習
發(fā)表于 05-07 15:06
HarmonyOS實戰(zhàn)開發(fā)-如何通過BlendMode屬性來實現(xiàn)掛件和圖片的混合
||---BlendModeView.ets // 視圖層-應用主頁面
模塊依賴
本實例依賴common模塊來實現(xiàn)日志的打印、資源 的調(diào)用、依賴動態(tài)路由模塊來實現(xiàn)頁面的動態(tài)加載。
最后
如果大家覺得這篇內(nèi)容對學習鴻蒙
發(fā)表于 05-07 14:45
鴻蒙OS開發(fā)學習:【尺寸適配實現(xiàn)】
在鴻蒙開發(fā)中,尺寸適配是一個重要的概念,它可以幫助我們在不同屏幕尺寸的設備上正確顯示和布局我們的應用程序。本文將介紹如何在鴻蒙開發(fā)中實現(xiàn)尺寸適配的方法。
![<b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b><b class='flag-5'>學習</b>:【尺寸適配實現(xiàn)】](https://file1.elecfans.com/web2/M00/C7/C7/wKgZomYWRc-AH8B1AABDpgbnVU8431.jpg)
鴻蒙OS開發(fā)實例:【組件化模式】
組件化一直是移動端比較流行的開發(fā)方式,有著編譯運行快,業(yè)務邏輯分明,任務劃分清晰等優(yōu)點,針對Android端的組件化;與Android端的組件化相比,HarmonyOS的
![<b class='flag-5'>鴻蒙</b>OS<b class='flag-5'>開發(fā)</b>實例:【<b class='flag-5'>組件</b>化模式】](https://file1.elecfans.com/web2/M00/C6/E8/wKgZomYNKT6AFK72AAD8Uj1qiZc498.png)
深圳市24年,實現(xiàn)鴻蒙原生應用數(shù)占全國總量10%以上
有更多的鴻蒙人才。鴻蒙開發(fā)工程師也將會迎來爆發(fā)式的增長,學習鴻蒙勢在必行!
?要從事鴻蒙
發(fā)表于 03-04 21:42
鴻蒙實戰(zhàn)項目開發(fā):【短信服務】
://gitee.com/openharmony/applications_app_samples.git
git pull origin master
? 最后呢,很多開發(fā)朋友不知道需要學習那些鴻蒙技術?
發(fā)表于 03-03 21:29
鴻蒙實戰(zhàn):HarmonyOS NEXT【城市選擇】
||---DetailData.ets// 模型層-數(shù)據(jù)模塊
模塊依賴
依賴[har包-common庫中UX標準]
更多鴻蒙開發(fā)內(nèi)容
`可+ mau123789令頁,是v喔!`
發(fā)表于 02-29 15:50
學習鴻蒙背后的價值?星河版開放如何學習?
需要有更多的鴻蒙人才;鴻蒙開發(fā)工程師也將會迎來爆發(fā)式的增長!
所以學習鴻蒙勢在必行,而大部分人都能適合學
發(fā)表于 02-22 20:55
未來從事鴻蒙開發(fā)?是否會有前景?
應屆畢業(yè)生:有一定Java編程基礎,系統(tǒng)學習鴻蒙應用開發(fā)
想轉行/跨行人員:求職、轉行,希望趕上時代風口并彎道超車
IT相關工作者:工作遇上瓶頸,想提升技能,升職加薪
鴻蒙
發(fā)表于 02-19 21:31
評論