前端基础,是怎么慢慢变成"现代前端"的
HTML / CSS / JS 拆成三个文件,互相引用。
本地用 Git 提交,远程推到 GitHub。
Nginx 指向项目,公网 IP 谁都能访问。
你已经做出一个能上线的真实网站了——只是还很简单,就一张卡片。今天,咱们把它做大。
实现不难,AI 分分钟搞定——无非是 HTML 从一个变两个、多几个 css / js 文件。文件组织的方式,还是 3.2 那一套。
只想先看看长啥样?也可以直接在 GitHub 上在线浏览:github.com/joylibo/zero-to-tech-demos
8 个 css、3 个 js——全是 3.2 教过的 <link> 和 <script src> 引进去,一个新概念都没有。
住在你硬盘上的文件
住在别人公开服务器上的文件
本质一样——都是把一个 js 文件引到页面上让浏览器加载。区别只是:它住在哪儿。
在 window 这张"公共储物台"上,挂一个 anime——整个页面随便哪儿都能拿来用。
张嘴就用 anime.animate——可它没有一行写明"我要用 anime"。
这条依赖,没写在任何代码里——它只藏在 HTML 里 <script> 的先后顺序里。我们叫它"暗依赖"。
一行 <script> 排错,整个动画报废。可"谁必须在谁前面"这条规矩,全凭人脑子记——文件一多就乱套。
张三往公共台面上放了一张"纸",李四要用,直接拿——一切和谐。
赵六也放一张"纸"(纸巾),来得晚,把张三的顶掉了。李四再拿——欸,写不了字了。
window 就是那张公共台面。库一多,撞名就是早晚的事——后来的悄悄盖掉先来的,还没人通知你。这就是全局污染。
这不是你水平不够
是这套老工具,到了它的天花板
全世界前端都撞过这堵墙。撞多了,长出一整套翻墙的办法,叫"工程化"——它的第一招,就是模块化。
没标 export 的,外面谁也拿不到。
不写 import,你就用不上。
共享不再靠"全堆在公共空间",而是靠在代码里白纸黑字声明清楚。你不用学语法,懂这个意思就够了。
名字不用深究——以后看到 "ES"、"ES6",知道它就是 JS 的语法标准,就行了。
你不用自己写——每一步的代码我都给你,粘进去就行。
就这一行——顺序坑没了,全局污染也没了。
从此,"双击 index.html 打开"对模块化代码不好使了——得走服务器。
你今天写的那行 import,真正能用还不到十年——这就是为啥"现代前端"叫"现代",它真的很年轻。
模块化,是工程化的第一块基石
下一节,让它真正变成一个工程
Vite、npm、node_modules、package.json——4.2 见。
零到全栈 · 模块 4.1 完