一个文科生的Vue.js实战入门:从零做出你的第一个应用

测试环境炸了
2026-01-14 19:28
阅读 686

大家好,我是一个靠自学转行成功的前端工程师。大学读的是中文系,当初连“变量”是什么都不知道,现在却天天和代码打交道。今天写这篇教程,是因为我清楚记得自己第一次接触 Vue.js 时的迷茫——文档里全是术语,教程动不动就讲“响应式原理”,但其实初学者最需要的,是能跑起来、看得懂、改得动的小项目。

所以,别担心你没学过编程,也别怕 JavaScript 听起来高深。这篇文章会带你用最简单的方式,亲手做出一个 Vue.js 应用,并顺便搞懂它在整个前端生态中的位置。


为什么选 Vue?它和 React 有啥区别?

在前端三大框架(Vue、React、Angular)中,Vue 以“上手快、文档友好”著称,特别适合零基础的朋友。而 React 虽然更流行(尤其在大厂),但它的 JSX 语法和函数式思维对新手不太友好。

特性 Vue.js React
学习曲线 平缓,模板直观 陡峭,需理解 JSX 和状态管理
语法风格 HTML + JS 混合,像写网页 JS 为主,用 JS 写 HTML(JSX)
官方工具 Vue CLI / Vite(官方推荐) Create React App(社区维护)
适合人群 初学者、快速原型开发 中大型项目、追求灵活性

我当初学的时候,先试了 React,结果被 useStateuseEffect 绕晕了;转学 Vue 后,三天就做出了一个待办事项列表,信心一下就回来了!


第一步:搭建你的开发环境

别被“环境搭建”吓到,现在只需要三步:

  1. 安装 Node.js
    https://nodejs.org 下载 LTS 版本(长期支持版),安装时一路点“下一步”即可。

  2. 打开终端(命令行)

    • Windows:按 Win + R,输入 cmd 回车
    • Mac:打开“终端”应用
  3. 创建 Vue 项目
    在终端中依次输入以下命令:

npm create vue@latest my-vue-app
cd my-vue-app
npm install
npm run dev

这些命令的意思是:用官方脚手架创建一个叫 my-vue-app 的项目,进入文件夹,安装依赖,然后启动开发服务器。

如果一切顺利,你会看到一行绿色文字,比如 Local: http://localhost:5173/。复制这个链接到浏览器,就能看到 Vue 的欢迎页面了!


核心概念:Vue 是怎么工作的?

Vue 的核心思想就两个字:响应式。简单说,就是“数据变了,页面自动跟着变”。

举个例子:你有一个计数器,点一下按钮,数字加一。在传统网页中,你需要手动操作 DOM(比如 document.getElementById('count').innerText = ...),很麻烦。但在 Vue 中,你只需要改数据,页面自动更新。

关键三要素:

  1. 模板(Template):写在 <template> 里的 HTML,可以嵌入变量。
  2. 逻辑(Script):写在 <script setup> 里的 JavaScript,定义数据和方法。
  3. 样式(Style):写在 <style> 里的 CSS,美化页面。

来看一个最简单的组件:

<template>
  <div>
    <p>你点了 {{ count }} 次</p>
    <button @click="count++">点我</button>
  </div>
</template>

<script setup>
import { ref } from 'vue'

const count = ref(0)
</script>
  • {{ count }}:这是插值语法,把变量显示在页面上。
  • @click:这是 Vue 的事件绑定,点击时执行 count++
  • ref(0):这是 Vue 3 的响应式 API,把普通数字变成“会自动更新”的变量。

新手常犯的错误:直接写 let count = 0,然后 count++ —— 这样页面不会更新!必须用 ref 包裹,Vue 才能“监听”到变化。


实战项目:做一个简易天气卡片

我们来做一个静态的天气展示组件,虽不能联网,但能让你掌握 Vue 的基本结构。

步骤 1:修改 App.vue

打开 src/App.vue,替换成以下内容:

<template>
  <div class="weather-card">
    <h2>{{ city }}</h2>
    <p>当前温度:{{ temp }}°C</p>
    <p>天气:{{ condition }}</p>
    <button @click="toggleUnit">切换为华氏度</button>
  </div>
</template>

<script setup>
import { ref } from 'vue'

const city = ref('北京')
const temp = ref(25)
const condition = ref('晴')

function toggleUnit() {
  if (temp.value < 100) {
    // 当前是摄氏度,转华氏
    temp.value = Math.round(temp.value * 9/5 + 32)
  } else {
    // 当前是华氏度,转回摄氏
    temp.value = Math.round((temp.value - 32) * 5/9)
  }
}
</script>

<style scoped>
.weather-card {
  padding: 20px;
  border: 1px solid #ccc;
  border-radius: 8px;
  max-width: 300px;
  margin: 50px auto;
  text-align: center;
}
</style>

步骤 2:运行看看效果

保存文件后,浏览器会自动刷新。你应该能看到一个带按钮的卡片,点击“切换为华氏度”后,温度数字会变化。

知识点拆解:

  • ref:让数据具备响应式能力
  • .value:在 JS 中读取或修改 ref 变量时,必须加 .value
  • @click:绑定点击事件
  • scoped<style scoped> 表示这些样式只作用于当前组件,不会污染全局

新手常见问题解答

Q1:为什么我的数据变了,页面没更新?

很可能你用了普通变量(如 let x = 1),而不是 refreactive。记住:所有要显示在页面上的数据,都必须是响应式的

Q2:<script setup> 是什么?和普通 <script> 有啥区别?

<script setup> 是 Vue 3 推出的新语法,写起来更简洁,不需要 export default。对新手来说,直接用它就行,不用纠结老写法。

Q3:Vue 和 JavaScript 到底什么关系?

Vue 是基于 JavaScript 的框架。你可以把 JavaScript 看作“语言”,Vue 是“工具包”。就像你会中文(JS),Vue 是一本教你如何写小说的指南(框架)。


下一步学什么?我的学习路线建议

  1. 巩固 JavaScript 基础
    重点掌握:变量、函数、数组、对象、箭头函数、模块导入导出。推荐 MDN Web Docs。

  2. 深入 Vue 核心功能

    • 条件渲染(v-if
    • 列表渲染(v-for
    • 组件通信(props / emits)
    • 路由(Vue Router)
    • 状态管理(Pinia)
  3. 对比学习 React(可选)
    当你熟悉 Vue 后,可以尝试用 React 实现同样的天气卡片,感受两种框架的差异。你会发现,核心思想相通,只是语法不同。

  4. 做真实项目
    比如:博客系统、任务管理器、电影搜索页。GitHub 上有很多开源项目可以参考。


最后的话

我当初学编程时,最大的障碍不是技术,而是“觉得自己不行”。但只要你愿意动手敲代码,哪怕每天只写 10 行,三个月后回头看,你会惊讶于自己的进步。

Vue.js 是一个温柔的起点。它不会一上来就考你算法,而是让你快速做出“看得见”的东西,从而获得正反馈。而这,正是坚持下去的关键。

现在,打开你的终端,运行那几行命令吧。你的第一个 Vue 应用,正在等你点亮。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝