Node.js、npm、Vite——一节课,把这几个名词彻底搞明白
谢谢你们用这种方式给我鼓励
e***r
耶***o
苏***_
E***l
强***呀
_***_
磨***染
A***8
J***3
躲***宝
R***酱
追***-
醉***点
4***啊
S***7
气***1
伤***8
伏***梦
陈***莱
k***8
小***棕
牧***白
爬***子
豆***僧
苏***_
小***歪
强***呀
D***w
j***n
知***a
澈***c
T***_
E***9
丷***丷
前端发展到今天,迟早都要走这一步——这是规矩,不是选择。
双击 index.html 直接打开,从此不好使了。
可"看一眼效果都得走一趟服务器"——是不是特别难受?这一节,咱们就来根治这种难受。
哪怕只改一个字,也得走一趟发布:提交 → push → 服务器 pull → 刷新。
F12 看 Network,十几个请求排长队。光 css 就 8 个,各走一趟网络。
浏览器把旧文件缓存住了,直接拿旧的塞给用户。
这三件,靠手动管治不利索。好消息是——有一类工具,专门收拾它们。
本地跑一个服务器,不用发到远程。改完一保存,浏览器自己刷新——这叫热更新。
把一堆碎文件打包合并,比如 8 个 css 合成 1 个,浏览器请求数骤降。
给文件名加一段 hash 指纹,内容一变名字就变,无痛解决缓存烦恼。
这三件,正好一一对上刚才那三件难受。
早些年构建工具里的当红炸子鸡,很多老项目还在用。
这几年前端构建的首选,最"夯"的那一个。
Vite 是个法语词,意思就是"快",读 /viːt/。下面,咱们就把它请进项目。
Vite 是命令行工具,得在浏览器之外、你电脑上跑。
(其实 npm 还不止是个"应用商店"——这个扣子,后面解开。)
键值对 · 值可嵌套 · 注意逗号:每项末尾都有,最后一项没有。
npm init 没有黑魔法——就是生成个文本文件。把 name、version 之外的都删掉,这份"账"清清爽爽、现在还是空的;等装了东西,npm 会自动往里加回有用的内容。
Vite 是帮你干活的工具——盖房子时用,盖完就撤,不进最终的网站。这类装的时候加 -D。
冒出 node_modules(东西都堆这儿);package.json 自动记上 devDependencies。
还冒出个 package-lock.json,把每个包的精确版本锁死,换台电脑也装得一模一样——它要提交 git。
源代码 ≠ 运行的代码
js/、css/ 那些——多文件、好读。改网站永远改这份。
少文件、压缩过、改了名。别手动改它——下次一 build 就被覆盖。
dev 跑源码图改得快;build 出的 dist 才是给生产服务器跑的版本;preview 本地验一眼。
扣子解开:npm 不止"装/卸",它还兼了个"项目管家"——认 package.json。npm run dev 跑的不是 npm 自己的功能,而是你写在 scripts 里的命令,它照本宣科替你跑一遍。
照着 package.json,跑一次 npm install 就能重装出来。
照着源代码,跑一次 npm run build 就能重新打包出来。
它俩都能随时重新生成。Git 里提交的永远是"源头"——你的代码 + package.json / package-lock.json。
animejs 会被打进最终产物、跟着上线——网站运行时真在用它。
vite 帮你把房子盖好,盖完就撤——上线的网站里没有它。
两条命令长得像,角色却天差地别:一个是库、一个是工具。anime 那条 CDN 尾巴,到这儿收干净了。
工程化的地基,铺平了
有了它,下一节才真正有意思
4.1 模块化、4.2 构建,把工程化的底子打好了。下一节,我们请出现代前端真正的主角——React,顺便也聊聊 Vue。
零到全栈 · 模块 4.2 完