鴻蒙版Taro 搭建開發環境

鴻蒙版Taro 搭建開發環境

一、配置鴻蒙環境

下載安裝 DevEco

建議使用最新版本的 IDE,當前為 5.0.5Release 版本。

二、創建鴻蒙項目

打開 DevEco,點擊右上角的 Create Project,在 Application 處選擇 Empty Ability,點擊 Next,進入配置頁面,根據需求調整內容,這里使用默認配置:

  1. Project name:tarooh

  2. Bundle name:com.nutpi.taro

  3. Save location:選擇需要創建的目錄,例如 ~/test/tarooh

  4. Module name:entry

注意,當前 Taro 支持的 SDK 版本為 4.1.1。

點擊 Finish 完成項目創建。

三、安裝 Taro 4.1

npm install -g @tarojs/cli

安裝成功后,檢查 taro 是否生效:

taro --version

預期輸出:

👽 Taro v4.1.1
?
4.1.1
?

初始化項目

taro init taro-ohos

按照提示輸入以下配置:

注意:當前僅支持使用 Vite 編譯鴻蒙應用,所以在配置時請注意選擇。

? 請輸入項目介紹 taro ohos
? 請選擇框架 React
? 是否需要使用 TypeScript?Yes
? 請選擇 CSS 預處理器(Sass/Less/Stylus)Sass
? 請選擇包管理工具 yarn
? 請選擇編譯工具 Vite
? 請選擇模板源 Gitee(最快)
? 拉取遠程模板倉庫成功!
? 請選擇模板 默認模板

等待項目創建成功,直到輸出以下提示:

Done in 44.95s.
? 安裝項目依賴成功
創建項目 taro-ohos 成功!
請進入項目目錄 taro-ohos 開始工作吧!😝

四、安裝鴻蒙插件

cd taro-ohos

然后使用 npm 安裝:

npm i @tarojs/plugin-platform-harmony-cpp

或者使用 pnpm 安裝:

pnpm i @tarojs/plugin-platform-harmony-cpp

五、修改編譯配置

找到 config/index.ts 文件,在 plugin 處添加 @tarojs/plugin-platform-harmony-cpp,并在 rn 下方添加 harmony 配置:

import os from 'os'
import path from 'path'
?
const config = {// ...plugins: [['@tarojs/plugin-platform-harmony-cpp', {
?}]],harmony: {// compiler: 'vite',projectPath: path.join(os.homedir(), '/Desktop/test/tarooh'),hapName: 'entry',},// ...
}

注意:將 projectPath 設置為 DevEco 創建的鴻蒙項目目錄。

六、編譯鴻蒙應用

# 編譯鴻蒙應用
taro build --type harmony_cpp
# 編譯鴻蒙原生組件
taro build native-components --type harmony_cpp

如果需要同時編譯鴻蒙應用和原生組件,可以在頁面配置中添加 entryOption: false 表示該頁面是組件,并通過 componentName 指定組件導出名:

export default {navigationBarTitleText: 'Hello World',
+  componentName: 'MyComponent',
+  entryOption: false,
}

Taro 會將編譯好的文件輸出至鴻蒙項目目錄。

七、運行鴻蒙應用

1.配置應用簽名

打開 File -> Project Structure...,點擊 Signing Configs,點擊 Sign In,登錄華為賬號,點擊右下角 Apply,然后點擊 OK,完成簽名配置。

{"name": "entry","version": "1.0.0","description": "Please describe the basic information.","main": "","author": "","license": "","dependencies": {"@taro-oh/library": "file:../static/@taro-oh/library-4.1.1.har"},"devDependencies": {}
}

2.運行應用

在 DevEco 中,點擊運行按鈕。

八、常見問題解答(FAQ)

1.不存在編譯平臺 ${platform}

若運行 Taro 時出現 throw new Error('不存在編譯平臺 ${platform}') 錯誤,可能是因為 config/index.ts 文件中未添加 @tarojs/plugin-platform-harmony-cpp 插件。

2.EPERM: operation not permitted

遇到權限問題時,可執行以下命令:

mkdir -p ~/.npm-global/lib/node_modules
npm config set prefix '~/.npm-global'
?
npm install -g @tarojs/cli

九、參考資料

  • 鴻蒙 & OpenHarmony | Taro 文檔

  • Taro 項目倉庫

  • Taro 官方文檔

  • Taro UI 項目倉庫

  • Taro UI 官方文檔

  • plugin-platform-harmony-cpp

  • taro-oh

十、Taro 倉庫概覽

以下是 Taro 的主要 NPM 包及其功能:

路徑描述
@tarojs/cliCLI 工具
@tarojs/service插件化內核
@tarojs/taro-loaderWebpack loaders
@tarojs/helper工具庫,主要供 CLI、編譯時使用
@tarojs/runner-utils工具庫,主要供小程序、H5 的編譯工具使用
@tarojs/shared工具庫,主要供運行時使用
@tarojs/taro暴露各端所需要的 Taro 對象
@tarojs/api和各端相關的 Taro API
babel-preset-taroBabel preset
eslint-config-taroESLint 規則
postcss-pxtransformPostCSS 插件,轉換 px 為各端的自適應尺寸單位
postcss-html-transformPostCSS 插件,用于 HTML、小程序標簽的類名相互轉換

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83541.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83541.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83541.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Could not get unknown property ‘mUser‘ for Credentials [username: null]

最近遇到jekins打包報錯: Could not get unknown property mUser for Credentials [username: null] of type org.gradle.internal.credentials.DefaultPasswordCredentials_Decorated。 項目使用的是gradle,通過pipeline打docker包;因為ma…

Spring Boot + MyBatis-Plus 讀寫分離與多 Slave 負載均衡示例

Spring Boot + MyBatis-Plus 讀寫分離與多 Slave 負載均衡示例 一、項目結構 src/main/java/com/example/demo/ ├── config/ │ ├── DataSourceConfig.java # 數據源配置 │ ├── MyBatisPlusConfig.java # MyBatis-Plus配置 ├── constant/ │…

android binder(1)基本原理

一、IPC 進程間通信(IPC,Inter-Process Communication)機制,用于解決不同進程間的數據交互問題。 不同進程之間用戶地址空間的變量和函數是不能相互訪問的,但是不同進程的內核地址空間是相同和共享的,我們可…

高密爆炸警鐘長鳴:AI為化工安全戴上“智能護盾”

一、高密爆炸:一聲巨響,撕開化工安全“傷疤” 2025年5月27日,山東高密友道化學有限公司的車間爆炸聲,像一把利刃劃破了化工行業的平靜。劇烈的沖擊波將車間夷為平地,黑色蘑菇云騰空而起,刺鼻的化學氣味彌漫…

雙擎驅動:華為云數字人與DeepSeek大模型的智能交互升級方案

一、技術融合概述 華為云數字人 華為云數字人,全稱:數字內容生產線 MetaStudio。數字內容生產線,提供數字人視頻制作、視頻直播、智能交互、企業代言等多種服務能力,使能千行百業降本增效。另外,數字內容生產線&#…

Linux運維筆記:1010實驗室電腦資源規范使用指南

文章目錄 一. 檢查資源使用情況,避免沖突1. 檢查在線用戶2. 檢查 CPU 使用情況3. 檢查 GPU 使用情況4. 協作建議 二. 備份重要文件和數據三. 定期清理硬盤空間四. 退出 ThinLinc 時注銷,釋放內存五. 校外使用時配置 VPN注意事項 總結 實驗室的電腦配備了…

手機郵箱APP操作

收發電子郵件方式 郵箱可以在網絡段登錄,也可以在手機端登錄。 大學網絡服務 收發電子郵件有三種方式: 1、Web方式: 1)登錄“網絡服務”(https://its.pku.edu.cn),點頁面頂端“郵箱”。 2&…

Dockerfile 使用多階段構建(build 階段 → release 階段)后端配置

錯誤Dockerfile配置示例: FROM python:3.11 as buildENV http_proxyhttp://172.17.0.1:7890 ENV https_proxyhttp://172.17.0.1:7890WORKDIR /appENV PYTHONPATH/app# Install Poetry # RUN curl -sSL https://install.python-poetry.org | POETRY_HOME/opt/poetry…

webstrom中git插件勾選提交部分文件時卻出現提交全部問題怎么解決

原因是我有個.husky的文件制定了執行提交的時候就是提交所有的文件 修改.husky/pre-commit文件就可以啦 #!/usr/bin/env sh . "$(dirname -- "$0")/_/husky.sh"# 獲取通過 WebStorm 提交的暫存文件(僅勾選的部分) STAGED_FILES$(gi…

OSG編譯wasm嘗試

最近遇到一個情況,需要嘗試一下OSG到webassembly 發現官網有教程 于是順著看了看,默認教程是xubuntu的一個系統跑的,但是我本著試一試的想法,拉下來直接在windows上跑,奇奇怪怪的報錯簡直頭皮發麻 然后怎么辦呢&#x…

QT中子線程觸發主線程彈窗并阻塞等待用戶響應-傳統信號槽實現

目錄 QT中子線程觸發主線程彈窗并阻塞等待用戶響應傳統信號槽實現實現思路具體步驟1. 定義信號與槽2. 異步任務中觸發彈窗3. 主線程處理彈窗4. 連接信號與槽關鍵點總結 更簡單實現 QT中子線程觸發主線程彈窗并阻塞等待用戶響應 傳統信號槽實現 場景需求:在子線程執…

STM32學習之WWDG(原理+實操)

📢:如果你也對機器人、人工智能感興趣,看來我們志同道合? 📢:不妨瀏覽一下我的博客主頁【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸對你有幫助,可點贊 👍…

【端午安康】龍舟爭渡Plug-In

文章目錄 正文附錄A:關于Python的錄屏方法總結(來自DeepSeek的回答)1. 使用 pyautogui 和 OpenCV 錄制屏幕2. 使用 mss 庫(高效屏幕捕獲)3. 使用 PIL.ImageGrab 錄制屏幕4. 使用 Windows 原生快捷鍵錄制(非…

Apache SeaTunnel部署技術詳解:模式選擇、技巧與最佳實踐

Apache SeaTunnel(原Waterdrop)作為高性能、分布式數據集成平臺,支持海量數據的離線與實時同步。其靈活多樣的部署模式可適配不同規模的生產環境需求。本文將系統解析SeaTunnel的部署架構、技術要點及最佳實踐,幫助用戶高效構建穩定可靠的數據管道。 一、部署模式全景概覽 …

【機械視覺】Halcon—【六、交集并集差集和仿射變換】

【機械視覺】Halcon—【六、交集并集差集和仿射變換】 目錄 【機械視覺】Halcon—【六、交集并集差集和仿射變換】 介紹 交集并集差集介紹: 1. 交集(Intersection) 2. 并集(Union) 3. 差集(Difference&#xff…

實驗設計與分析(第6版,Montgomery)第5章析因設計引導5.7節思考題5.6 R語言解題

本文是實驗設計與分析&#xff08;第6版&#xff0c;Montgomery著&#xff0c;傅玨生譯) 第5章析因設計引導5.7節思考題5.6 R語言解題。主要涉及方差分析&#xff0c;正態假設檢驗&#xff0c;殘差分析&#xff0c;交互作用圖&#xff0c;等值線圖。 dataframe <-data.frame…

劍指offer15_數值的整數次方

數值的整數次方 實現函數 double Power(double base, int exponent) 題目要求 計算 base exponent \text{base}^{\text{exponent}} baseexponent&#xff1a; 不得使用庫函數不需要考慮大數問題&#xff0c;絕對誤差不超過 10 ? 2 10^{-2} 10?2不會出現底數和指數同為 0…

【Typst】1.Typst概述

概述 Typst是一種用于排版文檔的標記語言&#xff0c;可以用于排版各種精美的論文、文章、書籍、報告和作業等。它是LaTex的精神續作&#xff0c;但是運行環境和編譯速度都要更簡單、更快捷。 它設計了一種腳本結合簡單的標記語法實現復雜的排版效果。并且支持模板創建、文件…

[Java惡補day14] 56. 合并區間

以數組 intervals 表示若干個區間的集合&#xff0c;其中單個區間為 intervals[i] [starti, endi] 。請你合并所有重疊的區間&#xff0c;并返回 一個不重疊的區間數組&#xff0c;該數組需恰好覆蓋輸入中的所有區間 。 示例 1&#xff1a; 輸入&#xff1a;intervals [[1,3…

DiskGenius專業版v6.0.1.1645:分區管理、數據恢復、備份還原,一應俱全!

各位小伙伴&#xff0c;大家好&#xff01;今天阿燦給大家帶來一款超好用的分區工具&#xff0c;DiskGenius專業版。這款工具堪稱電腦管理界的“瑞士軍刀”&#xff0c;功能強大&#xff0c;現在出了新版本v6.0.1.1645&#xff0c;簡繁中文單文件便攜版&#xff0c;使用超方便。…