首页 › tutorials › 零基础装通Claude Code造网页点名器

零基础装通 Claude Code 造网页点名器

概述

本教程面向完全零基础的开发者:从未用过命令行、没写过代码也能跟着做完。你将完成三件事——安装并登录 Claude Code、理解它的"对话式编程"循环、最终让它帮你从零生成一个网页版随机点名器(HTML 单文件,双击即可在浏览器跑起来)。学完你掌握的不是某个工具的用法,而是"用自然语言指挥 AI 写程序"这套全新工作方式。

前置条件

条目 要求 说明
操作系统 macOS / Windows / Linux 任一 三平台均原生支持
账号 Claude 订阅(Pro/Max/Team/Enterprise)或 Console API 充值账号 二选一,订阅最省心
命令行 会"打开终端、粘贴命令、回车"即可 不需要记忆任何命令
网络 能访问 claude.ai 首次登录需浏览器跳转

不需要预先安装 Node.js、Python 或任何编辑器。Claude Code 已改为原生安装包,开箱即用,并在后台自动更新。


第一步:安装 Claude Code(约 2 分钟)

打开终端,按你的系统选一条命令粘贴执行。

macOS / Linux / WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

包管理器(可选):

# macOS 已装 Homebrew
brew install --cask claude-code
# Windows 已装 WinGet
winget install Anthropic.ClaudeCode

预期结果:命令跑完后,终端会提示安装成功。输入以下命令验证:

claude --version

能看到版本号(如 2.x.x)即安装成功。原生安装方式会在后台静默更新,无需手动升级;若用 Homebrew/WinGet,则需偶尔执行 brew upgrade claude-code 或 winget upgrade Anthropic.ClaudeCode。

常见问题

报错 原因与解决
syntax error near unexpected token '<' 或 403 curl 拉取失败,多为网络/代理问题,参考官方"安装排错"页换镜像或加代理
PowerShell 报 'irm' is not recognized 你其实在 CMD 里,改用上面 CMD 专用命令
Windows 提示找不到 Bash 工具 推荐装 Git for Windows,Claude Code 会用它执行命令

第二步:登录账号(约 1 分钟)

直接输入:

claude

首次运行会提示登录,自动打开浏览器完成认证(订阅用户跳转到 claude.ai 授权,Console 用户用 API Key)。登录后凭证会存到本地,以后无需重复登录。若日后要切换账号,在会话里输入 /login 即可。


第三步:建立你的第一个项目目录

Claude Code 的工作单位是"一个文件夹"。我们先建一个干净的项目目录:

mkdir name-picker
cd name-picker

进入目录后再次启动:

claude

此时终端顶部会显示版本、当前模型、工作目录,下方是输入提示符 >。这表示你已经进入 Claude Code 的对话界面。

小贴士:输入 / 可呼出所有斜杠命令;按 Tab 自动补全;↑ 调出历史;Shift+Tab 循环切换权限模式(default → auto-accept → plan)。


第四步:配置项目记忆 CLAUDE.md(强烈推荐)

CLAUDE.md 是放在项目根目录的"项目说明书",Claude 每次启动都会自动读取它。对零基础者,它最大的价值是固化你的偏好,省得每次重复说。

在对话里直接对 Claude 说:

帮我创建一个 CLAUDE.md,写明:本项目是一个网页点名器,技术栈只用单个 HTML 文件内嵌 CSS 和 JS,不引入任何外部依赖,代码注释用中文。

Claude 会生成类似内容:

# 项目说明
- 名称:网页随机点名器
- 目标:单 HTML 文件,双击浏览器即可运行
- 技术约束:原生 HTML/CSS/JS,零依赖
- 风格:注释用中文,代码清晰可读

常见问题


第五步:让 Claude 造出点名器(核心环节)

这是整篇教程的高潮。用大白话描述需求,把"想法"变成"程序"。在对话框输入:

请帮我做一个网页版随机点名器,要求:
1. 单个 index.html 文件,双击就能在浏览器打开
2. 顶部有一个大显示区,显示当前滚动的名字
3. 一个"开始点名"按钮,点一下开始快速滚动名字,再点一下停止并定格在随机一人
4. 下方一个文本框,可以一行一个名字地编辑名单
5. 显示最近 5 次点名历史
6. 配色好看一点,紫色渐变背景,卡片式布局

预期过程:Claude 会先确认理解,然后给出文件修改方案,并请求你批准(permission)。零基础者保持 default 模式即可,每次它要写文件都会问"是否允许"。

按提示选 Yes(或按 a 接受本次会话所有改动)。

Claude Code 修改文件的标准流程:

  1. 找到/创建目标文件(这里是新建 index.html)
  2. 展示它打算写入的完整内容
  3. 请求你确认
  4. 执行写入
  5. 汇报结果

关键认知:Claude Code 总是先问再做,不会偷偷改你的文件。这是它和"全自动脚本"最大的区别,也是零基础者敢放手用的底气。


第六步:浏览器预览

文件生成后,直接告诉 Claude:

帮我在默认浏览器里打开 index.html 预览

或手动在文件管理器里双击 index.html。你会看到一个紫色渐变背景、白色卡片居中的点名器界面,点按钮即可滚动停名。


第七步:迭代加功能

第一版跑通后,继续用对话迭代。比如:

加一个"清空历史"按钮,放在历史记录旁边;并且当名单为空时点开始,给出友好的提示而不是报错。

Claude 会增量修改现有文件,而不是推倒重来。这就是对话式开发的魅力——像跟一位同事提需求,他立即改给你看。


实战案例:完整的网页点名器代码

以下是按上述步骤最终得到的可运行 index.html,供对照(你也可以直接保存为文件体验):

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>随机点名器</title>
<style>
  * { box-sizing: border-box; margin: 0; padding: 0; }
  body {
    font-family: -apple-system, "Microsoft YaHei", sans-serif;
    background: linear-gradient(135deg, #667eea, #764ba2);
    min-height: 100vh;
    display: flex; align-items: center; justify-content: center;
  }
  .card {
    background: #fff; border-radius: 16px; padding: 40px;
    width: 90%; max-width: 480px; text-align: center;
    box-shadow: 0 20px 60px rgba(0,0,0,.3);
  }
  h1 { color: #333; margin-bottom: 24px; font-size: 24px; }
  /* 显示区:滚动时变灰,定格时高亮紫色 */
  #display {
    font-size: 48px; font-weight: bold; color: #764ba2;
    height: 80px; line-height: 80px; margin: 20px 0;
  }
  #display.rolling { color: #bbb; }
  button {
    background: #764ba2; color: #fff; border: none;
    padding: 14px 40px; font-size: 18px; border-radius: 30px;
    cursor: pointer; transition: background .2s;
  }
  button:hover { background: #5a3373; }
  button.small { background: #eee; color: #666; font-size: 13px; padding: 6px 14px; }
  textarea {
    width: 100%; height: 110px; margin-top: 20px;
    padding: 10px; border: 2px solid #eee; border-radius: 8px;
    font-size: 14px; resize: vertical;
  }
  .history { margin-top: 14px; font-size: 13px; color: #999; min-height: 20px; }
</style>
</head>
<body>
  <div class="card">
    <h1>🎯 随机点名器</h1>
    <!-- 名字显示区 -->
    <div id="display">准备就绪</div>
    <button id="pickBtn">开始点名</button>
    <!-- 名单编辑框 -->
    <textarea id="names" placeholder="一行一个名字,或用逗号分隔">张三
李四
王五
赵六
钱七</textarea>
    <div class="history" id="history"></div>
    <p style="margin-top:12px"><button class="small" id="clearBtn">清空历史</button></p>
  </div>
<script>
  // 获取页面元素
  const display   = document.getElementById('display');
  const btn       = document.getElementById('pickBtn');
  const namesArea = document.getElementById('names');
  const historyEl = document.getElementById('history');
  const clearBtn  = document.getElementById('clearBtn');
  let rolling = false, timer = null, history = [];

  // 解析名单:支持换行、中英文逗号
  function getNames() {
    return namesArea.value.split(/[\n,,]/).map(s => s.trim()).filter(Boolean);
  }

  // 按钮点击:滚动中则停止,停止中则开始
  btn.addEventListener('click', () => rolling ? stopRoll() : startRoll());

  function startRoll() {
    const names = getNames();
    if (names.length === 0) { alert('请先输入至少一个名字'); return; }
    rolling = true;
    btn.textContent = '停止';
    display.classList.add('rolling');
    // 每 80ms 随机刷新一个名字,营造滚动效果
    timer = setInterval(() => {
      display.textContent = names[Math.floor(Math.random() * names.length)];
    }, 80);
  }

  function stopRoll() {
    rolling = false;
    btn.textContent = '开始点名';
    clearInterval(timer);
    display.classList.remove('rolling');
    const chosen = display.textContent;
    history.unshift(chosen);
    historyEl.textContent = '本次:' + chosen + ' | 最近:' + history.slice(0,5).join(' → ');
  }

  // 清空历史
  clearBtn.addEventListener('click', () => {
    history = [];
    historyEl.textContent = '';
  });
</script>
</body>
</html>

把这段代码交给 Claude,让它逐行讲解 setInterval、Math.random、事件监听是如何配合的,是零基础者边用边学最快的方式。


工作流程图

flowchart TD
    A[打开终端] --> B[执行安装命令]
    B --> C[claude 首次启动]
    C --> D[浏览器登录授权]
    D --> E[建项目目录并 cd 进入]
    E --> F[创建 CLAUDE.md 固化偏好]
    F --> G[用大白话描述需求]
    G --> H{Claude 提出修改方案}
    H -->|审核并批准| I[文件写入磁盘]
    I --> J[浏览器预览效果]
    J --> K{满意?}
    K -->|否| G
    K -->|是| L[继续迭代加功能]
    L --> G

这条"描述 → 审批 → 生成 → 预览 → 再描述"的闭环,就是 Claude Code 的代理循环(agentic loop)——理解它,比记住任何命令都重要。


延伸阅读

进阶方向:学会 /init、/clear、权限模式后,可继续探索 CLAUDE.md 进阶写法、自定义 Skills、Hooks 与 MCP,把点名器这种小工具扩展成真正的自动化工作流。


训练营适用性评估

维度 评估
适合的训练营类型 零基础 AI 编程启蒙营、教师/非技术从业者数字素养营、青少年编程入门营
不适合 已有 2 年以上经验的高级工程师训练营(内容过浅)
预计教学时长 1.5–2 小时(含讲解 + 动手 + 迭代)
学员产出 每人一个可分享的网页点名器 HTML 文件,可发链接展示
后续衔接 可自然过渡到 Round 2「自定义 Skill 开发」,把"造点名器"的经验沉淀成可复用技能

本教程刻意选用单 HTML 文件作为首个项目,目的是让零基础学员在 2 小时内获得"我也能做出一个真实可用的程序"的强烈成就感——这是 AI 编程启蒙最关键的第一次正反馈。


参考来源

  1. Quickstart - Claude Code Docs — Anthropic 官方快速上手指南,安装命令与首次会话权威来源
  2. Your first day in Claude Code - Claude Help Center — 官方知识库,15 分钟完成安装到首次代码改动
  3. Claude Code Tutorial: Complete Beginner's Guide (2026) — 第三方教程博客,覆盖安装到首项目的完整流程
  4. Setting Up a New Claude Code Project: The Complete Guide - Builder.io — 工程博客,项目初始化与配置实践
  5. Installation and First Launch - SFEIR Institute — 培训机构教程,多平台安装与首次启动详解

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入