鸿蒙版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

九、参考资料

十、Taro 仓库概览

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

路径 描述
@tarojs/cli CLI 工具
@tarojs/service 插件化内核
@tarojs/taro-loader Webpack loaders
@tarojs/helper 工具库,主要供 CLI、编译时使用
@tarojs/runner-utils 工具库,主要供小程序、H5 的编译工具使用
@tarojs/shared 工具库,主要供运行时使用
@tarojs/taro 暴露各端所需要的 Taro 对象
@tarojs/api 和各端相关的 Taro API
babel-preset-taro Babel preset
eslint-config-taro ESLint 规则
postcss-pxtransform PostCSS 插件,转换 px 为各端的自适应尺寸单位
postcss-html-transform PostCSS 插件,用于 HTML、小程序标签的类名相互转换
相关推荐
笑 总不会犯错2 小时前
摆脱多端数据撕裂,鸿蒙分布式数据库同步与冲突合并
harmonyos
用户117910488332 小时前
鸿蒙签名失败不是玄学:5 个证据点把 hapsigntool 一次排通 GitHub:swsgbl/hmharness
开源·ai编程·harmonyos
redtank20005 小时前
纯血鸿蒙小工具三件套实测:弹幕手持、爱记录与仓库管理软件
学习·华为·智能手机·harmonyos
xyzzklk6 小时前
变相解决华为Mate 8锁屏后无法建立入站网络连接
linux·运维·服务器·网络·华为·go·安卓
用户861941772074120 小时前
uni-app 的蓝牙 API 在鸿蒙上不生效?我写了个兼容层,让老代码零改动跑起来
harmonyos
HarmonyOS_SDK1 天前
【HarmonyOS SDK Skills】挂载 Agent Skill,轻松跑通鸿蒙应用广告变现
harmonyos
闫东阳LordGalaxy1 天前
给小艺装上数学能力:数易 App 接入智能体 FunctionComponent 与 A2A 双通路实战
harmonyos
Dream-Y.ocean1 天前
鸿蒙PC平台逻控 PLC 编辑器适配实战:基于 Electron 壳方案的纯 JavaScript 梯形图编程与仿真引擎开发
javascript·编辑器·harmonyos
律宏阔1 天前
Taro 4 项目从 npm 迁移到 pnpm 踩坑实录
前端·微信小程序·taro
OH_TPC1 天前
HarmonyOS APP开发---"好物清单"购物清单App,需要用到这个库
harmonyos