Node.js 是前端工程化的重要支柱之一。(文章预警:只谈前端,不谈全栈)
前几天画的一个 JavaScript 历史:
我在 2003 年开始写简单的前端页面,经历过 IE6 的折磨。在 2004 年见证了 Firefox 的发布,2006 年第一版 jQuery 发布的时候就使用了,2008 年又见证了 Chrome 的发布。
虽然 Node.js 在 09 年发布,但是我直到大概 2011 年左右才开始使用 Node.js,当时是为了学习 Angular。
Node.js 给很多初学者的第一印象就是“可以在服务器上运行 JavaScript”,于是很多人就有这种疑问:“我写的是前端代码,又不是后端,我学 Node.js 干嘛啊”。
如今的前端已经不是零几年的前端了,以前我们写的是 Web Page,我们写出来的页面是给人“看”的;而现在我们写的是 Web App,我们写出来的应用是给别人“用”的。而两者的复杂度也不可同日而语。
即使在 Web Page 时代,开发一个网站也不是简单的事儿,我们需要压缩(合并) JavaScript/CSS 代码、制作雪碧图、压缩图片等资源、批量替换 HTML 资源链接……等。我见过很多初学者都是使用这种方式压缩 JavaScript 代码的,打开百度,搜索“在线压缩JavaScript”,然后把代码复制进去,压缩完后在复制粘贴到一个新文件里面,使用 FTP 把这个压缩后的文件部署到服务器上。不仅仅是初学者,甚至是多年经验的前端开发者也有这么干的。
再进一步,开发者通常会开发一些脚本来做这些事情,使用 Python、Shell 等。
在我使用 Node.js 之前,我一直使用 Java 当时最流行的 Ant 来做前端工程化。可能是由于 JavaScript 和 Java 的相近吧,在 SPA 时代 JavaScript 社区很多文章在介绍 Ant,而 JavaScript 的很多工具也都是使用 Java 开发的,比如 js 代码压缩的 yuicompressor,这个最初是 Yahoo 开发出来为 yui 做代码压缩的工具,如今 yui 也凉凉了。
而 Node.js 为前端社区带来了 Grunt(2012年),还带来了 Gulp(2012),Webpack(2012)……
所以,Node.js 是前端工程化的重要支柱之一。
领取专属 10元无门槛券
私享最新 技术干货