技能 编程开发 Gamma 本地开发循环

Gamma 本地开发循环

v20260311
gamma-local-dev-loop
为 Gamma 项目配置本地开发流程,含 tsx/nodemon 热重载脚本、环境变量区分的 mock 客户端和真实 API,方便在离线或测试阶段快速调试而不影响正式服务。
获取技能
384 次下载
概览

Gamma Local Dev Loop

Overview

Configure an efficient local development workflow with hot reload and mock responses for Gamma presentation development.

Prerequisites

  • Completed gamma-hello-world setup
  • Node.js 18+ with nodemon or tsx
  • TypeScript project (recommended)

Instructions

Step 1: Install Dev Dependencies

set -euo pipefail
npm install -D nodemon tsx dotenv @types/node

Step 2: Configure Development Script

Add to package.json:

{
  "scripts": {
    "dev": "tsx watch src/index.ts",
    "dev:mock": "GAMMA_MOCK=true tsx watch src/index.ts"
  }
}

Step 3: Create Mock Client

// src/gamma-client.ts
import { GammaClient } from '@gamma/sdk';

const isMock = process.env.GAMMA_MOCK === 'true';

export const gamma = isMock
  ? createMockClient()
  : new GammaClient({ apiKey: process.env.GAMMA_API_KEY });

function createMockClient() {
  return {
    presentations: {
      create: async (opts) => ({
        id: 'mock-123',
        url: 'https://gamma.app/mock/preview',
        title: opts.title,
      }),
    },
  };
}

Step 4: Set Up Environment Files

# .env.development
GAMMA_API_KEY=your-dev-key
GAMMA_MOCK=false

# .env.test
GAMMA_MOCK=true

Output

  • Hot reload development server
  • Mock client for offline development
  • Environment-based configuration
  • Fast iteration cycle

Error Handling

Error Cause Solution
Watch Error File permissions Check nodemon config
Mock Mismatch Mock out of sync Update mock responses
Env Not Loaded dotenv not configured Add import 'dotenv/config'

Examples

Watch Mode Development

set -euo pipefail
npm run dev
# Changes to src/*.ts trigger automatic restart

Offline Development with Mocks

set -euo pipefail
npm run dev:mock
# Uses mock responses, no API calls

Resources

Next Steps

Proceed to gamma-sdk-patterns for advanced SDK usage patterns.

信息
Category 编程开发
Name gamma-local-dev-loop
版本 v20260311
大小 2.58KB
更新时间 2026-03-12
语言