You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 17项目用tsl-mastodon-api遇顶层await环境不支持错误

解决Angular 17中tsl-mastodon-api顶层await报错问题

问题分析

虽然ES2022支持顶层await,且你指定的目标浏览器版本也原生支持,但Angular默认不会转译node_modules内的代码,导致库中的顶层await代码未被构建工具(ESBuild)正确处理,触发兼容性报错。

解决方案

1. 强制ESBuild转译该依赖库

在angular.json中找到你的项目配置,修改architect.build.options,添加esbuildOptions明确指定目标版本并处理该库:

"architect": {
  "build": {
    "options": {
      // 其他配置...
      "esbuildOptions": {
        "target": "es2022",
        "resolveExtensions": [".ts", ".js"],
        "allowOverwrite": true
      }
    }
  }
}

2. 允许该CommonJS依赖

如果库是CommonJS格式,在angular.json的build.options中添加allowedCommonJsDependencies:

"build": {
  "options": {
    // 其他配置...
    "allowedCommonJsDependencies": [
      "tsl-mastodon-api",
      "node-fetch"
    ]
  }
}

3. 改用动态导入规避顶层await

修改项目中导入tsl-mastodon-api的代码,用异步动态导入包裹:

async function initializeMastodon() {
  const { default: MastodonApi } = await import('tsl-mastodon-api');
  // 在这里初始化和使用API
}

// 在应用初始化时调用
initializeMastodon();

4. 升级依赖库版本

检查tsl-mastodon-api是否有更新版本,新版本可能已修复顶层await的兼容性问题。执行以下命令升级:

npm update tsl-mastodon-api

内容的提问来源于stack exchange,提问作者Sebastian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 12:02:47