Web 前端技术 第 1 周

Web前端技术全景与AI辅助编程

梳理Web技术从静态页面到动态应用的发展脉络,介绍前端开发核心概念与工具链,并重点讲解AI编程工具在新闻传播实践中的应用方法。

2026-03-03 第 1 周

学习要点

  • 掌握Web技术发展历程中HTML、CSS、JavaScript三层架构的分工与演进逻辑
  • 理解前端开发工具链的基本构成,能够配置本地开发环境
  • 掌握Cursor与Claude等AI编程工具的提示词编写方法与对话式编程流程
  • 理解AI辅助编程在数据新闻、交互报道等新闻传播场景中的实践价值

正文

Web技术发展历程

万维网(World Wide Web)由蒂姆·伯纳斯-李(Tim Berners-Lee)于1989年提出,最初设计目标是让物理学家之间能够共享研究文档。这一起源决定了Web最初的形态:以超文本(Hypertext)为核心的静态文档网络。

Web技术的演进通常被划分为三个阶段。Web 1.0(1991—2004年)以静态页面为主,信息单向流动,用户只能阅读而无法参与内容生产,典型形态是早期门户网站的新闻频道;Web 2.0(2004年至今)引入了用户生成内容(UGC)机制,Ajax技术使页面无需整体刷新即可更新局部数据,社交媒体、博客、维基百科均是这一阶段的产物,新闻评论区、读者投稿系统也随之成为可能;Web 3.0 的概念尚在演化之中,但其核心趋势包括语义网、去中心化与AI深度集成——这与当前新闻业探索的个性化推荐、智能核查等方向高度吻合。

对新闻传播学习者而言,理解这一历程的意义在于:每一次技术跃迁都重塑了信息生产与分发的权力结构。从编辑部独家发布到公民记者实时直播,从线性叙事到用户自定义阅读路径,技术的底层逻辑决定了上层新闻实践的边界。

前端三层架构:HTML、CSS与JavaScript

前端开发的核心由三种技术协作构成,其分工类似于报纸的三个生产层次:HTML(超文本标记语言)负责内容结构,相当于记者撰写的原稿;CSS(层叠样式表)负责视觉呈现,相当于美编的版式设计;JavaScript 负责交互行为,相当于编辑根据读者反馈动态调整版面的能力。

HTML使用标签(tag)系统描述内容的语义结构。一个基本的新闻页面包含标题、导语、正文、图片说明等元素,这些元素在HTML中对应不同语义标签:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>突发:暴雨红色预警发布</title>  <!-- 页面标签标题 -->
</head>
<body>
  <article>
    <h1>暴雨红色预警:多地启动应急响应</h1>  <!-- 新闻主标题 -->
    <p class="byline">记者:张三 | 2026年3月3日</p>  <!-- 署名行 -->
    <p>今日凌晨,中央气象台发布暴雨红色预警……</p>  <!-- 新闻导语 -->
    <figure>
      <img src="rainfall-map.jpg" alt="全国降雨分布图">
      <figcaption>图:今日全国降雨分布(来源:中央气象台)</figcaption>
    </figure>
  </article>
</body>
</html>

CSS通过选择器(selector)将样式规则与HTML元素绑定,实现颜色、字体、布局等视觉属性的精确控制。JavaScript则赋予页面响应用户操作的能力,例如点击按钮展开完整报道、滑动图表查看不同年份的数据等。三层分离的架构保证了内容、样式与行为互不耦合,便于团队协作和后期维护。

前端开发工具链

工具链(toolchain)是指开发者在编写代码到将页面部署至服务器的完整流程中所使用的一组工具的集合。对初学者而言,需要了解以下四类核心工具。

代码编辑器是编写前端代码的主要界面。Visual Studio Code(VS Code)是目前业界最广泛使用的免费编辑器,具备语法高亮、自动补全、错误提示和丰富的扩展插件生态。Cursor是基于VS Code深度集成AI能力的编辑器,本课程将重点使用。

浏览器开发者工具(DevTools)内置于Chrome、Firefox等现代浏览器,通过右键"检查"或按F12唤起。它允许开发者实时查看页面的HTML结构树、CSS样式计算值、JavaScript执行日志及网络请求详情,相当于新闻采编系统的后台管理界面,是调试前端代码的核心手段。

版本控制系统 Git记录代码的每一次修改历史,支持多人协作与版本回滚,功能类似于稿件管理系统的"历史版本"功能。GitHub是最主流的代码托管平台,同时可用于发布静态网页。

包管理器 npm(Node Package Manager)管理项目依赖的第三方代码库,例如图表库ECharts、数据处理库D3.js等,一行命令即可将外部功能引入项目。

AI编程工具的使用方法

以大型语言模型(LLM)为基础的AI编程工具正在深刻改变前端开发的工作方式。Cursor是一款将AI能力深度嵌入代码编辑器的工具,Claude、ChatGPT则是可通过对话界面辅助编程的通用AI助手。两类工具的核心使用逻辑均为:以自然语言描述需求,AI生成或修改代码,开发者审查并集成结果。

与AI编程工具高效协作的关键在于提示词(prompt)的构造质量。一个有效的编程提示词通常包含四个要素:角色设定(如"你是一位熟悉数据新闻的前端开发者")、任务描述(明确要实现的功能)、约束条件(技术栈、兼容性要求、代码风格等)和期望格式(仅输出代码、附带注释、分步骤说明等)。

以下是一个针对新闻场景的提示词示例:

你是一位熟悉数据新闻可视化的前端开发者。
请使用原生HTML、CSS和JavaScript(不引入任何外部库),
为一篇关于"2025年全国空气质量报告"的新闻专题页面,
创建一个展示AQI数据的横向条形图,数据为以下城市的年均值:
北京:65,上海:48,广州:42,成都:71,拉萨:18。
要求:图表宽度自适应容器,颜色根据AQI等级区分,附数值标签。
请仅输出完整HTML代码,并在关键逻辑处添加中文注释。

在Cursor中,可使用Ctrl+K(行内编辑)或Ctrl+L(侧边栏对话)触发AI功能。行内编辑适合修改已有代码片段;侧边栏对话适合从零生成模块或进行架构讨论。理解AI的输出并能判断其正确性,是学习者需要逐步培养的核心能力——AI生成的代码并非总是无误,批判性审查是必要习惯。

AI辅助编程在新闻传播领域的应用价值

AI辅助编程对新闻传播从业者的意义,不在于将其培养为软件工程师,而在于降低技术实现门槛,使叙事创意得以快速原型化。传统工作流中,一个数据新闻项目需要记者与开发者的长周期协作;AI工具使有新闻素养的记者能够自主完成轻量级交互作品的初版制作,缩短从构思到发布的时间链条。

具体应用方向涵盖以下几类:

数据可视化原型制作:记者获取数据后,可通过AI工具快速生成折线图、地图、散点图等可视化组件,用于选题汇报或初版呈现,再由技术团队精修。

新闻专题页面搭建:重大事件的专题报道通常需要专属的HTML页面,AI可根据稿件内容生成结构化的时间轴、人物关系图等叙事组件。

数据清洗与处理脚本:AI可辅助编写Python或JavaScript脚本,处理政府开放数据、社交媒体抓取数据等,加速数据核实与分析流程。

新闻机器人与自动化报道:借助AI辅助编程,编辑部可构建简单的模板化自动生成系统,用于财经数据播报、体育赛事快报等规律性报道。

值得注意的是,AI辅助编程工具本身不能替代新闻判断与叙事能力。技术实现服务于新闻价值的表达,代码的优劣最终应以是否有效传递信息为评判标准。

实践示例

场景:某媒体记者正在制作一篇关于"近五年中国网民规模变化"的数据新闻,需要在稿件配套的专题页面中嵌入一个可视化图表。

目标:使用Cursor与Claude,通过AI辅助编程方式生成一个展示网民规模逐年增长的纯HTML横向条形图,无需安装任何图表库。

实现步骤

第一步:准备数据与提示词

收集数据后,在Cursor中新建文件netizens.html,按下Ctrl+L打开AI对话面板,输入以下提示词:

请用原生HTML和CSS(不使用任何JavaScript或外部库)创建一个横向条形图,
展示以下数据(单位:亿人):
2020年:9.89,2021年:10.32,2022年:10.67,2023年:10.92,2024年:11.08。
要求:
1. 条形宽度按比例映射数据值,最大值占容器80%宽度
2. 每条右侧显示精确数值
3. 配色使用蓝色系渐变,越新颜色越深
4. 整体字体使用系统中文字体,风格简洁专业
5. 页面顶部有图表标题和数据来源说明
仅输出完整HTML代码,添加中文注释解释关键样式。

第二步:审查并复制AI生成的代码

AI将输出类似以下结构的完整HTML(节选关键部分):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>中国网民规模变化(2020-2024)</title>
  <style>
    body { font-family: "PingFang SC", "Microsoft YaHei", sans-serif; padding: 24px; }
    h2 { font-size: 1.2rem; color: #1a1a1a; margin-bottom: 4px; }
    .source { font-size: 0.75rem; color: #888; margin-bottom: 20px; }

    .chart { width: 100%; max-width: 600px; }
    .bar-row { display: flex; align-items: center; margin-bottom: 12px; }
    .label { width: 60px; font-size: 0.85rem; color: #333; }

    /* 条形容器:设置相对定位供绝对定位数值标签使用 */
    .bar-wrap { flex: 1; background: #eef2f7; border-radius: 3px; position: relative; }

    /* 实际条形:宽度通过内联style设置,高度固定 */
    .bar { height: 28px; border-radius: 3px; transition: width 0.6s ease; }
    .value { margin-left: 8px; font-size: 0.85rem; color: #333; min-width: 40px; }
  </style>
</head>
<body>
  <h2>中国网民规模变化(2020—2024年)</h2>
  <p class="source">数据来源:中国互联网络信息中心(CNNIC)历年《中国互联网络发展状况统计报告》</p>

  <div class="chart">
    <!-- 每一行:年份标签 + 比例条形 + 数值 -->
    <!-- 最大值11.08亿,各年份宽度 = (数值/11.08)*80% -->
    <div class="bar-row">
      <span class="label">2020年</span>
      <div class="bar-wrap">
        <div class="bar" style="width:71.4%; background:#90b8d8;"></div>
      </div>
      <span class="value">9.89亿</span>
    </div>
    <div class="bar-row">
      <span class="label">2021年</span>
      <div class="bar-wrap">
        <div class="bar" style="width:74.5%; background:#6a9fc0;"></div>
      </div>
      <span class="value">10.32亿</span>
    </div>
    <div class="bar-row">
      <span class="label">2022年</span>
      <div class="bar-wrap">
        <div class="bar" style="width:77.0%; background:#4a88aa;"></div>
      </div>
      <span class="value">10.67亿</span>
    </div>
    <div class="bar-row">
      <span class="label">2023年</span>
      <div class="bar-wrap">
        <div class="bar" style="width:78.9%; background:#2e7090;"></div>
      </div>
      <span class="value">10.92亿</span>
    </div>
    <div class="bar-row">
      <span class="label">2024年</span>
      <div class="bar-wrap">
        <!-- 最大值对应80%宽度 -->
        <div class="bar" style="width:80.0%; background:#145a78;"></div>
      </div>
      <span class="value">11.08亿</span>
    </div>
  </div>
</body>
</html>

第三步:在浏览器中验证效果

将文件保存后,双击在浏览器中打开,或在VS Code中使用"Live Preview"扩展实时预览。若发现条形宽度比例计算有误,可在AI对话中输入"第三条条形的宽度计算不正确,请修正",AI将定向修改对应代码。

第四步:嵌入正式稿件页面

确认图表效果满意后,将<style>块与<body>内的图表HTML分别复制到目标稿件页面的对应位置,完成集成。

效果说明:最终页面呈现一个由浅至深蓝色渐变的横向条形图,五个年份从上到下排列,条形长度直观反映数值大小,每条右侧标注精确数值,图表顶部有清晰的标题与数据来源说明,整体风格与新闻报道的严肃调性相符。全程未手写一行CSS数值,通过两轮AI对话完成了从需求到可展示成品的完整流程,耗时约十分钟。

练习

  1. 基础练习:参照实践示例,使用Cursor或Claude,为"2020—2024年全国图书出版总量"自行构造数据,生成一个竖向柱状图HTML页面。要求提示词中明确指定配色方案和数据来源说明。

  2. 进阶练习:在已生成的条形图基础上,向AI追加需求:当鼠标悬停在某条条形上时,显示该年份的同比增长率(需自行计算并提供给AI)。观察AI如何引入JavaScript实现交互功能,并解释其核心逻辑。

  3. 综合练习:选取一个你关注的社会议题(如城镇化率、人口结构变化、社交媒体用户分布等),从公开数据源(国家统计局、CNNIC等)获取至少五个数据点,设计一个包含图表、文字导语和数据来源的完整数据新闻小专题页面。撰写一份不超过300字的"AI协作说明",记录你在与AI协作过程中做出的每一次人工判断与修改,并说明理由。

本章小结

  • Web技术演进:从Web 1.0静态文档到Web 2.0双向交互,技术迭代驱动了新闻生产与分发模式的结构性变革
  • 前端三层架构:HTML定义内容结构,CSS控制视觉呈现,JavaScript实现交互行为,三者分工协作构成现代网页的技术基础
  • 开发工具链:VS Code/Cursor、浏览器DevTools、Git与npm共同构成前端开发的基础设施,各有明确的功能定位
  • AI提示词构造:有效提示词需包含角色设定、任务描述、约束条件与期望格式四要素,是高质量AI辅助编程的前提
  • AI辅助编程的边界:AI工具降低技术实现门槛,但不能替代新闻判断;批判性审查AI输出是必要的专业习惯

延伸阅读

  • MDN Web文档 — Mozilla维护的权威Web技术参考文档,含中文版,覆盖HTML、CSS、JavaScript全栈,是前端开发最重要的查阅资源
  • The History of the Web — 系统梳理万维网发展史的专题网站,适合深入理解Web技术演进的社会与产业背景
  • Cursor官方文档 — Cursor编辑器的官方使用指南,包含AI功能的详细说明与最佳实践案例
  • 数据新闻手册(第二版) — 欧洲新闻中心编写的数据新闻权威教程,含多个AI与前端技术结合的实践案例,有中文译本
  • Anthropic Claude使用指南 — Claude模型的官方文档,包含提示词工程的系统性说明,适合深入学习AI对话编程技巧