简单介绍
介绍
开始全栈生活
写下这句话时,我给自己定了个方向:不只做「写页面的前端」,而是把一条完整链路走通——浏览器界面、服务端接口、小程序和 App。这篇算开篇,说说为什么这么想,以及按什么顺序走。
为什么要走全栈
前端做久了会撞到边界:数据拿不到、接口要排期、首屏还是慢,只会等别人就很难再往前一步。全栈不是取代后端,而是让自己能把想法完整跑通——定义接口、写服务、部署,验证一件事不用先拉一个会。
再加上「端」在变多:浏览器、微信、手机上都要同一份业务,每多一个端重写一遍成本会失控,多端于是也进了路线。
技术版图
HTML / CSS / JS:地基
这块听着没意思,但后面所有的「顺手」都来自这里。布局、盒模型、事件循环、异步只停在「能跑就行」,进到框架里就会变成莫名其妙的坑。我习惯先用原生写一遍,再换框架写一遍,看是框架帮了忙,还是遮住了问题。
Vue 生态:把界面做成工程
Vue 解决的是规模化:组件怎么拆、状态放哪、路由怎么组织、样式怎么隔离。写一个页面不难,难的是半年后还有人愿意改。
// 一个最小的组合式 API 组件,状态和视图放在一起更好读
import { ref, computed } from 'vue'
const count = ref(0)
const double = computed(() => count.value * 2)
先用 Options API 跑起来,再逐步换 Composition API 抽逻辑,不必一上手就上全套脚手架。
Node.js:从「调接口」到「造接口」
真正有全栈感,是第一次自己写完接口、前端调通那一刻。Node 的好处是语言不用切换,同一套 JS 思维继续用。
npm init -y
npm i express
const express = require('express')
const app = express()
app.get('/api/hello', (req, res) => {
res.json({ msg: 'hello from node' })
})
app.listen(3000)
但坑比想象中多:跨域、鉴权、日志、错误处理、进程守护,都得补课。
小程序:另一套运行环境
值得学的不是 API,而是它和 Web 的差异:没有完整的 DOM、包体积有硬约束、生命周期模型不一样。写过再看「跨端」就不觉得是魔法。
App 跨端:一套代码多端
移动端我先想清楚「跨端在跨什么」——渲染层、原生能力,还是构建产物。想明白再选技术栈,就不会被宣传语带着走。
学习路线的框架
整条路线我压成四段,每次只专注一段:
- 基础:HTML / CSS / JS,能不看框架写出交互。
- 工程化:模块化、构建、Lint、Git 流程,让代码能被别人接手。
- 服务端:接口设计、数据库、部署,能独立上线一个小服务。
- 多端:小程序与 App,把同一份业务复用到不同入口。
这样排的好处是每段都长在上一段的地基上,不会悬空。
vuepress 创建自己的开发者文档 静态图片引用问题解决
笔记多了以后,需要一个自己可控的文档站。VuePress 是我用下来最省事的一种:Markdown 写完就能成站。
- 安装(Node 版本建议跟官网对齐,避免构建时踩版本坑)
npm install -D vuepress
顺手在 package.json 里加两个脚本,日常基本够用:
{
"scripts": {
"docs:dev": "vuepress dev docs",
"docs:build": "vuepress build docs"
}
}
VuePress 遵循「约定优于配置」:入口是
docs,文章放docs下,静态资源放docs/.vuepress/public,要改再进docs/.vuepress/config.js。引用静态图片要先理解
public:构建时它被原样拷到站点根目录,不打包、不加 hash,所以public/img/001.png对应的就是/img/001.png。站点常部署在子路径下(比如 GitHub Pages 的仓库名),直接写会 404,得靠$withBase补前缀。目录如下:
docs
├── .vuepress
│ └── public
│ └── img
│ └── 001.png
└── guide
└── introduce.md
在 md 文件中可以使用下面的方式应用静态图片:
<img :src="$withBase('/img/001.png')" alt="mixureSecure">

能写 :src 是因为 VuePress 把 Markdown 当 Vue 模板编译,$withBase 挂在 Vue 实例上,会按 base 拼出最终路径,本地 dev 和子路径部署都能正常显示。
写在最后
这篇更像路线图而非总结。后面会按这几块陆续记笔记,写给自己看。
