博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js 学习笔记(一)
阅读量:4195 次
发布时间:2019-05-26

本文共 2753 字,大约阅读时间需要 9 分钟。

Node.js

Node.js 介绍

为什么要学 Node.js

  • 大家可以去浏览一下目前市面上的一些招聘网站,看看网站上面的招聘需求。

  • 企业需求:

    • 具有服务端开发经验者优先。
    • 我们以前学的、做的一直都是 front-end(前端)
    • 我们现在要学的就是 back-end(后端)
    • 所以,我们现在前后端都要做
    • 现在有一个工程师的概念很火,叫做“全栈开发工程师”。即不分前后端,前后端都做。
  • 学习目标:

    • 掌握基本的网站开发能力(不仅仅局限于写页面,这里就包括所有的一整套流程)
      • 服务端
      • 前端
      • 运维部署相关知识
      • 也就是说一个网站从无到有,前后端全都自己写,然后自己将网站部署到互联网上,最后所有人都可以访问。
  • 学习 Node.js 的目的:帮助大家打开服务器这个黑盒子。因为作为前端,我们不知道服务端怎么做的,接口怎么实现的,数据怎么处理的。所以说,只有我们学了 node ,掌握了 node ,才能更好的配合后端(服务端开发人员)进行开发。

  • 为什么现在的公司招人都需要有服务端开发经验,原因是什么呢?

  • 因为前端开发人员在开发过程中,需要和服务端开发人员进行配合。例如:接口怎么制定、数据怎么进行交互。所以说,只有了解服务端,懂了服务端,才能更好地配合服务端开发人员进行协同开发。

  • 实现案例:多人社区(实现类似于这样一个网站,nodejs中文社区:

Node.js 是什么

  • 前面我们说过,学习 Node.js 的目的是什么?即,是为了帮助大家打开服务器这个黑盒子。
  • 那么,谁来帮我们打开呢?
  • 显而易见,它就是 node.js。强调:并不是只有node可以打开。
  • 服务端和前端不太一样,前端的技术,整体来讲只有三种:html、css以及js。但实际上,如果你要打开服务端的黑盒子,这种技术就比较多了。不仅仅node可以,还有很多其他的技术也可以打开。例如:众所周知的 java、PHP(想起一个梗:有一位男嘉宾参加《非诚勿扰》节目,主持人问他:你是做什么的呀?男嘉宾说:我是做PHP的。话音刚落,全场24位女嘉宾灯全灭了。)、大名鼎鼎的Python、Ruby、(.不读点,读dao。英文为dot,意思为点,圆点)、Node.js等。
  • 为什么选择 Node.js 来打开服务端黑盒子?
  • 因为同样的东西,它们都可以做到相同的事情,但是语法是不一样的。如果选用其他技术,你就要学习一门新的语言。如果选择 Node.js,不是因为它里面包含一个 . js,而是因为 node 采用 JavaScript 进行编程。相对来讲,如果用 node 来学习服务端,不需要为了学一个后台,而重新学习一门新的语言,没有必要。
  • 有句话是这么说的:一个JavaScript,everywhere。即,凡是能用 JavaScript来实现的,最终都会用 JavaScript 来实现。因为它实在太强大了,纵观现在的前端和后端, js 已经无处不在了。
  • 它是一个工具。(我们打开 node.js 的官方网站看看:。其实,我们可以发现:大部分技术相关的网站都是以 org 结尾的,也有一部分是以 io 结尾的。)
  • 何谓 org ? org 其实是组织 organization 的缩写。abbr. 非盈利组织(Other organizations)
  • 何谓 io ? 即输入输出(Input / Output)
  • 下面,我们来看官网的一段英文介绍:

Node.js® is a JavaScript runtime built on Chrome’s V8 JavaScript engine.

  • 首先,Node.js 不是一门语言。
  • 其次,Node.js 不是库,不是框架。
  • Node.js 是一个 JavaScript 的运行时环境。构建于 Chrome 的 V8 引擎之上。
    • JavaScript 引擎是一个专门处理 JavaScript 脚本的虚拟机,一般会附带在网页浏览器之中。
    • 不同的浏览器,JavaScript 引擎是不一样的。
    • 代码只是具有特定格式的字符串而已,引擎可以认识它,引擎可以帮你去解析和执行。
    • 这就相当于 汽油 和 发动机的关系。代码就好比是汽油,你把汽油给发动机,发动机就可以帮你转化成动力。都是一个概念,所以说 js 引擎就是帮你解析执行 js 的。
    • Google Chrome 的 V8 引擎是目前世界公认的解析执行 JavaScript 代码最快的。
    • Node.js 的作者把 Google Chrome 中的 V8 引擎移植了出来,开发了一个独立的 JavaScript 运行时环境。
  • 何谓运行时环境?简单来说, Node.js 可以解析和执行 JavaScript 代码。就和浏览器的功能一样。
  • 以前只有浏览器可以解析执行 JavaScript 代码,现在的 JavaScript 可以完全脱离浏览器来运行。这一切都归功于 Node.js。
  • 可以这样理解, Node.js 就是一个平台,是一个运行时环境,能解析和执行 js 代码。
  • 注意:此处的 js 并非是浏览器中的 js,它们是有区别的。(这里,需要给大家解释一个东西)
    • 浏览器中的 JavaScript(包括什么)
      • Ecmascript(只包含基本语法)
        • 基本的语法
        • if-else
        • var
        • function
        • Object
        • Array
      • BOM
      • DOM
  • Node.js 中的 JavaScript
    • 没有 DOM 和 BOM(服务器端是不操作或处理页面的)
    • Ecmascript
    • 在 Node 这个 JavaScript 执行环境中为 JavaScript 提供了一些服务器级别的操作 API。例如:文件读写、网络服务的构建、网络通信、HTTP服务器等处理。
  • 学 Node.js 其实就是在学 Web 服务器开发。
  • Node.js 的特性:事件驱动、非阻塞IO模型(异步)、轻量和高效。
  • 随着课程的慢慢学习,你会明白什么是事件驱动 和 非阻塞IO模型。
  • npm 是基于 Node.js 开发出来的包管理工具。
  • npm 是世界上最大的开源库生态系统。
  • 说白了,就是把常用的第三方包,放在了 npm 这个平台当中。然后你就可以通过执行一条命令去进行下载,就这么简单。
  • 绝大多数 JavaScript 相关的包(基于 js 开发出来的东西)都存放在 了 npm 上。这样做的目的是为了让开发人员更方便的去下载使用这些包。
  • 以前的做法:比如说以前要下载 jQuery 之能打开它的官网,找到它的下载链接,然后把文件下载下来。现在有了 npm 这个东西,一条命令你就可以搞定了。
  • 比如: npm install jquery

Node.js 能做什么

未完待续…

转载地址:http://qxwli.baihongyu.com/

你可能感兴趣的文章
Linux 中使用 cpulimit 限制进程 cpu 使用率
查看>>
mac系统编译 ffmpeg ios 静态库
查看>>
Hi3519V100与Hi3519V101的区别
查看>>
HI3519 开发交流QQ群
查看>>
hi3519v101 sdk 编译错误
查看>>
boot.src 编译生成
查看>>
wireless tools for linux 编译 调试
查看>>
rtmpdump 实现flv视频数据的rtmp推流功能
查看>>
rtmpdump 捕获 rtmp视频数据 本地存储为 flv文件
查看>>
海思hi3516、hi3519 中 online 与 offline 有什么区别
查看>>
海思 IPC hi3516a、hi3519v101 的单包模式和多包模式
查看>>
hi3519v101 nandflash 调试
查看>>
mkyaffs2image 下载编译使用
查看>>
C程序 大数组:段错误 (核心已转储)
查看>>
socket 指定网口收发数据
查看>>
嵌入式samba功能的实现,linux下samba的移植
查看>>
海思hi3519v101 串口调试
查看>>
windows dos 常用命令行(完整)
查看>>
NetHogs - Linux进程实时统计网络带宽利用率
查看>>
hi3559v100 sdk 编译错误
查看>>