Node实战系列:零基础入门以前言(01天)

前言

既然说到要入门Node,那么它必然有其使用的好处,才值得咱们去学习它。首先咱们带着这样的疑问?

1. Node.js究竟是什么?

说白了Node.js存在乎义就是让JavaScript能够和其余的后端语言同样可以在浏览器上运行,它的存在对于JavaScript有了质的飞跃,可让前端语言JavaScript在写完以后交给Node.js进行编译和解释前端

2. Node.js如何诞生?

计算机处理器智能识别机器语言,而JavaScript是一门高级语言,计算机并不能直接读懂。因此须要用引擎来将其转化成计算机所能理解的机器语言。例如,JavaScript自己并无read这么一个function,然而经过v8,咱们能够将其绑定到一个用c++写的readvcallback上,从而经过JavaScript咱们也能够直接加载文件了。因而借助于v8种种便利的功能,诞生了Node.jsnode

3. Node.js的优劣(很重要)?

优点:mysql

  • 1:Node.js采用事件驱动、异步编程,为网络服务而设计。其实Javascript的匿名函数和闭包特性很是适合事件驱动、异步编程。并且JavaScript也简单易学,不少前端设计人员能够很快上手作后端设计
  • 2:Node.js非阻塞模式的IO处理给Node.js带来在相对低系统资源耗用下的高性能与出众的负载能力,很是适合用做依赖其它IO资源的中间层服务
  • 3:Node.js轻量高效,能够认为是数据密集型分布式部署环境下的实时应用系统的完美解决方案。Node很是适合以下状况:在响应客户端以前,您预计可能有很高的流量,但所需的服务器端逻辑和处理不必定不少

缺点:c++

  • 1:Node.js单线程,只支持单核CPU,不能充分的利用多核CPU服务器。一旦这个进程崩掉,那么整个web服务就崩掉了。
  • 2:Node.js开启多个进程,每一个进程绑定不一样的端口,用反向代理服务器如 Nginx 作负载均衡,好处是咱们能够借助强大的 Nginx 作一些过滤检查之类的操做,同时可以实现比较好的均衡策略,但坏处也是显而易见就是咱们引入了一个间接层。
  • 3:Node.js多进程绑定在同一个端口侦听。在Node.js中,提供了进程间发送“文件句柄” 的功能。一个进程负责监听、接收链接,而后把接收到的链接平均发送到子进程中去处理。
  • 4:Node.js可靠性低一旦代码某个环节崩溃,整个系统都崩溃。(缘由:单进程,单线程)

4.Node.js的适合场景

  • 1: 大量Ajax请求的个性化应用,每一个用户看到的页面都不同,缓存失效,须要在页面加载的时候发起Ajax请求,Node.js能响应大量的并发请求,Node.js能响应大量的并发请求
  • 2:能够处理数万条链接,自己没有太多的逻辑,只须要请求API,组织数据进行返回便可。因为响应是少许文本,入站请求也是少许的文本,所以流量不高,一台机器甚至也能够处理最繁忙的公司的API需求。
  • 3:Web论坛: nodeclub,是用 Node.js和MongoDB 开发的新型社区软件,界面优雅,功能丰富,小巧迅速,但你彻底能够用它搭建本身的社区
  • 4:Web博客:Hexo是一个简单地、轻量地、基于Node的一个静态博客框架。经过Hexo咱们能够快速建立本身的博客,仅须要几条命令就能够完成。发布时,Hexo能够部署在本身的Node服务器上面,也能够部署github上面。对于我的用户来讲,部署在github上好处颇多,不只能够省 去服务器的成本,还能够减小各类系统运维的麻烦事(系统管理、备份、网络)。因此,基于github的我的站点
  • 5:对Nodejs有初步的了解,接下来看看Node.js的应用场景。Web开发:Express + EJS + Mongoose/MySQL

5.Node.js的应用

  • 1:express 是轻量灵活的Nodejs
  • 2:Web应用框架,它能够快速地搭建网站。Express框架创建在Nodejs内置的Http模块上,并对Http模块再包装,从而实际Web请求处理的功能
  • 3:ejs 是一个嵌入的Javascript模板引擎,经过编译生成HTML的代码。
  • 4:mongoose 是MongoDB的对象模型工具,经过Mongoose框架,能够进行访问MongoDB的操做
  • 5:mysql 是链接MySQL数据库的通讯API,能够进行访问MySQL的操做

6. Node.js零基础入门案例

  • 1:首先固然就是环境搭建。
  • 2:数据库连接,这里用MySql数据库;到时候我也会写一份用MongoDB数据库的
  • 3:接口的编写,包括增删改查
  • 4:日志的打印
  • 5:项目的部署

若是你恰好在学习 Node 或者对 Node 感兴趣。能够对已下Node系列观看,系列写完后会把code上传到github

相关文章
相关标签/搜索