为什么要学 node.js
坊间关于 "Facebook 只招全栈工程师" 的传言使得全栈工程师火了一阵子. 尤其是那些刚入行的年轻人, 单是看着 "全栈" 这个称谓, 就已经感到热血沸腾, 有种刀锋在鞘里跃跃欲试的感觉.
事实上, 一个人要做到真正意义的全栈是不可能的, 从需求分析, 原型交互, ui 设计, 到前端代码, 后端编程, 再到服务器运维, 数据库优化等. 这其中的任何一个环节如果要精深研究, 都需要好多年的时间. 以人类的学习能力和知识消化的速度, 是不可能在有生之年将这些领域的知识都学会.
但如果你所认为的 "全栈" 是后端能写前端代码, 前端也懂一两门后端语言. 那这种意义的全栈难度并不大, 而且很有必要.
前端与后端原本是泾渭分明的两个领域. node.js 的出现如同胶水一般使这两者可以更好地结合起来.
node.js https://nodejs.org/en/ 并不是一门语言, 而是一个 js 的运行环境, 可以理解为一个平台. node.js 所用的语言是 js, 对于前端来说, 直接撸起袖子就能写. 同时, node 又提供了操作服务端的接口, 如文件读写, http 服务器等, 后端人员一看接口就知道怎么处理.
基于此, 不管是前后端, 都很有必要学下 node.js, 学习成本并不高, 而收益却极大.
node.js
node.js 与浏览器有什么区别
在 node.js 之前, js 只能在浏览器上运行. 浏览器的 js 是由以下部分组成:
- EcmaScript
- BOM
- DOM
node.js 中的 js 包括:
EcmaScript
提供服务器级别操作的 API
node.js 的特点简要概括为:
是一个 javascript 运行环境或者平台
依赖于 Chrome V8 引擎进行代码解释
基于事件驱动
异步式 I/O(非阻塞 I/O)
单进程, 单线程
轻量, 可伸缩, 适用于实时数据交互应用
以上这些特点, 对于初学者来说, 看了估计是一脸懵逼, 这没关系, 后续会对这些概念展开阐述, 在此只需要知道有这些概念即可.
第一个 node.js 程序
node.js 的安装很简单, 在官网 https://nodejs.org/en/ 下载相应的安装包, 即可安装.
安装后, 查看 node.js 版本
- node [master] node -v
- v8.11.2
撰写第一个 node.js 程序
- let welcome = '一起来入 node.js 的坑吧...'
- console.log(welcome);
执行结果:
01 [master] node 01.js
一起来入 node.js 的坑吧...
来源: http://www.jianshu.com/p/dada4029a0e6