taro编译错误UnhandledPromiseRejectionWarning: RangeError: Maximum call stack size exceeded
taro自己写的程序编译正常,但是从网上下载的taro项目却发现一个都编译不过。编译命令npm run dev:weapp错误如下:> Miai@1.0.0 dev:weapp /opt/Miai> npm run build:weapp -- --watch> Miai@1.0.0 build:weapp /opt/Miai>...
taro自己写的程序编译正常,但是从网上下载的taro项目却发现一个都编译不过。
编译命令npm run dev:weapp
错误如下:
> Miai@1.0.0 dev:weapp /opt/Miai
> npm run build:weapp -- --watch
> Miai@1.0.0 build:weapp /opt/Miai
> taro build --type weapp "--watch"
? Taro v1.3.21
开始编译项目 Miai
(node:28722) UnhandledPromiseRejectionWarning: RangeError: Maximum call stack size exceeded
at normalizeStringPosix (path.js:101:30)
at Object.normalize (path.js:1211:12)
at findWorkspaceRoot (/usr/local/lib/node_modules/@tarojs/cli/node_modules/find-yarn-workspace-root/index.js:20:22)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:455:27)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:460:12)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:460:12)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:460:12)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:460:12)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:460:12)
at recursiveFindNodeModules (/usr/local/lib/node_modules/@tarojs/cli/dist/util/index.js:460:12)
(node:28722) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a pro
mise which was not handled with .catch(). (rejection id: 1)
(node:28722) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-
zero exit code.
解决方法:
taro update project
微信小程序是腾讯在 2017 年 1 月 9 日推出的一种无需下载安装,就能在微信平台上使用的应用程序。以下是关于它的详细介绍:
特点
- 无须安装:用户无需下载和安装,直接在微信内打开使用,减少了手机存储空间的占用。
- 触手可及:用户通过扫一扫或搜索即可快速打开应用,方便快捷。
- 用完即走:用户可以随时退出小程序,无需卸载,提高了使用效率。
- 跨平台:小程序支持多种操作系统,用户可以在不同设备上无缝切换使用。
功能
- 消息通知:可以向用户发送模板消息等,实现信息的及时推送。
- 线下扫码:用户通过微信扫描小程序二维码,即可快速进入小程序。
- 公众号关联:同一主体的小程序和公众号可以进行关联并相互跳转,方便用户在不同场景下使用。
应用场景
- 电商:像京东购物小程序等,用户可以在线浏览商品、下单购买,享受便捷的购物体验。
- 餐饮:例如海底捞的点餐小程序,可帮助餐厅实现快速排号、点餐、预订、外卖等功能,提高运营效率。
- 旅游:如携程旅行小程序,为用户提供个性化的旅游攻略、景点推荐、酒店预订等服务。
- 教育:作业帮等教育小程序,为学生提供线上约课、在线课程、题库、答疑等服务,老师也能在线排课、点名、留作业等。
开发与管理
- 开发:开发者通过微信公众平台注册小程序账号,使用微信开发者工具,运用 JavaScript 等编程语言,并遵循微信小程序的开发规范和 API 进行开发和调试。
- 管理:开发者可在微信公众平台对小程序进行信息完善、开发配置、成员管理等操作。同时,微信提供数据统计和用户反馈等功能,助力开发者了解用户使用情况以优化产品。
1. Taro 简介
Taro 是由京东凹凸实验室推出的多端统一开发框架,支持使用 React/Vue/Nerv 语法编写应用,并编译到以下平台:
- ✅ 移动端:React Native / iOS / Android
- ✅ Web端:H5
- ✅ 小程序:微信/支付宝/百度/字节跳动/QQ/京东小程序
- ✅ 桌面端:Electron
核心优势:
✨ 一次开发,多端运行 ✨
✨ TypeScript 全面支持 ✨
✨ 丰富的生态插件(Taro UI、跨端API等) ✨
2. 核心架构
(1) 编译时 + 运行时
| 阶段 | 功能 |
|---|---|
| 编译时 | 将 React/Vue 代码转换为各端目标代码(如小程序 WXML/支付宝 AXML) |
| 运行时 | 提供统一的 API(如 Taro.request)和各端差异抹平逻辑 |
(2) Taro3 vs Taro2
| 特性 | Taro2(旧版) | Taro3(新版) |
|---|---|---|
| 编译方式 | AST 静态编译 | Webpack + Babel 动态编译 |
| 语法支持 | 仅 React | React/Vue/Nerv |
| 性能优化 | 依赖手动配置 | Virtual DOM + Diff 算法自动优化 |
3. 快速开始
(1) 安装与初始化
# 全局安装 CLI
npm install -g @tarojs/cli
# 创建项目
taro init my-app
cd my-app
# 安装依赖
npm install
运行
(2) 多端编译命令
# 微信小程序
npm run dev:weapp
# H5
npm run dev:h5
# React Native
npm run dev:rn
更多推荐


所有评论(0)