{
  "schemaVersion": 1,
  "citationId": "ecn:v4/onboarding@3a0c635#你的学习路径",
  "citeUrl": "/cite/986543181d1a30e4.json",
  "digest": "986543181d1a30e4",
  "slug": "v4/onboarding",
  "version": "v4",
  "title": "欢迎来到 Effect",
  "anchor": "你的学习路径",
  "headingPath": [
    "你的学习路径"
  ],
  "pageUrl": "/docs/v4/onboarding/",
  "deepLink": "/docs/v4/onboarding/#你的学习路径",
  "officialUrl": "https://effect.website/docs/v4/onboarding",
  "upstreamPath": "v4/onboarding.mdx",
  "upstreamCommit": "3a0c635dd477be6c57d57bf8fa9fda2c343529e1",
  "upstreamRawUrl": "https://raw.githubusercontent.com/Effect-TS/website/3a0c635dd477be6c57d57bf8fa9fda2c343529e1/apps/web/src/content/docs/v4/onboarding.mdx",
  "status": "published",
  "stale": false,
  "contentHash": "49e8a920f5ad7c8b",
  "chunkText": "Effect 值得按顺序学习：每一步都建立在前一步之上。沿着这条主线走下来，大多数开发者只需专注投入几天；其余内容都从这里分叉出去。\n\n \n\n \n\n \n\n \n\n 01\n\n \n\n \n\n \n\n 理解核心思想\n\n \n\n \n\n Effect 是一个描述程序的值：它产出什么、可能如何失败、运行需要\n\n 什么。其他一切都建立在这一个类型之上。\n\n \n\n \n\n \n\n Effect 类型 →\n\n \n\n \n\n \n\n \n\n <a\n\nhref=\"/docs/v4/getting-started/installation\"\n\n class=\"group flex items-baseline gap-4 py-5 no-underline sm:gap-6\"\n\n >\n\n \n\n 02\n\n \n\n \n\n \n\n 搭建你的项目\n\n \n\n \n\n 安装这个库并配置 TypeScript。Effect 只是一个依赖，无需任何\n\n 额外工具。\n\n \n\n \n\n \n\n 安装 →\n\n \n\n \n\n \n\n \n\n \n\n <span\n\n class=\"font-mono text-sm font-medium text-zinc-400 dark:text-zinc-500\"\n\naria-hidden=\"true\"\n\n >\n\n 03\n\n \n\n \n\n \n\n 编写你的第一个程序\n\n \n\n \n\n 创建 Effect，用生成器把它们组合起来，并在应用的边界处运行\n\n 它们。\n\n \n\n \n\n \n\n 创建 Effect →\n\n \n\n \n\n \n\n \n\n \n\n \n\n 04\n\n用 Effect 的方式处理错误\n\n \n\n \n\n 错误是有类型的值，而不是意外。了解预期失败与非预期失败、\n\n 回退方案以及重试。\n\n \n\n \n\n \n\n 两类错误 →\n\n \n\n \n\n \n\n \n\n \n\n \n\n 05\n\n \n\n \n\n \n\n 进入并发世界\n\n \n\n \n\n 以有界并发并行运行 Effect，让它们相互竞速，并交给结构化并发\n\n 为你善后。\n\n基础并发 →\n\n \n\n \n\n \n\n \n\n下面就是你在第一个小时内会写出的那种程序：\n\nconst program = Effect.gen(function () {\n const name = yield Effect.succeed(\"world\")\n yield Effect.log(\"Hello, \" + name + \"!\")\n})\n\nEffect.runPromise(program)",
  "generatedAt": "2026-09-18T14:48:33.525Z"
}
