孟欣 - node.js

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mx18519142864/article/details/80707204

node.js

2009年,Ryan正式推出了

基于JavaScript语言,V8引擎的开源Web服务器项目——Node.js

1. JavaScript是单线程执行(只能异步IO)

2. 随着现在使用JavaScript的人越来越多,随着Web应用越来越复杂的交互体验,Chrome开发了高性能的JavaScript引擎( V8 )

Node优势?

1. JavaScript 是异步(非阻塞式)I/O ( 高并发 ) 事件驱动,使Node轻量又高效。

I / O(Input/Output)通常是指计算机线程进行磁盘读写或者网络通信时的一种行为。

同步式:多个线程完成多个任务。

计算机执行命令,调度线程操作,操作完成后命令下一 线程操作。

异步式:一个线程完成多个任务。

计算机执行命令,调度线程操作,命令下达后命令下一 线程操作。

(当I/O操作完成后,会通过事件(event ) 通知I/O线程,而线程在接收到通知后,会处理响应事件)

2. JavaScript 可以使用ECMAScript等,在开发上提升了效率  。

3. Node.js 的包管理器 npm,世界上最大的开放源代码的生态系统。

4. Node.js 可以解析JS代码(没有浏览器安全级别的限制)提供很多系统级别的API,如:文件读写,进程管理,网络通信等。

5. Node.js 可以编写独立的服务端应用,也可以向客户端提供Web内容,无需借助任何Web服务器(apache)可以去连接文件系统,还能操作数据库。

Node.js 适合开发中间服务器,可伸缩的网路应用,数据写入读取的应用比较好

Node劣势?

Node.js 不适合CPU密集型的应用,各种计算的就不太适合

安装Node

LTS指的是long time support 也就是长期支持版本,推荐大家安装

Current是现在最新的版本。

一般来说,偶数位为稳定版本,奇数位为非稳定版本

这块就自行去官网node下载安装吧,就不多解释了。

包管理工具和模块

npm的使用

nodeJs使用CommonJs规范,,不会有命名冲突、依赖关系等等的问题。

按照规范来定义模块,暴露接口,引用模块,使用模块

模式

命令行模式和Node交互模式(REPL模式)

在命令行模式下,可以执行node进入Node交互式环境。

REPL模式可以执行JavaScript代码。

chrome浏览器的V8引擎console控制台里可以运行js代码,其实这里就是node的V8引擎解析js代码的情况。

浏览器有BOM和DOM对象,在node里是没有的,也就是没有window等相关的对象。

同样在node端有global,process等全局对象,浏览器段却没有

在命令行模式下,可以执行node 1.js 启动服务

搭建第一个node服务器

在项目文件夹中的1.js文件中写如下代码

命令行启动服务,浏览器输入地址,OK启动成功

其他模块:

fs: node之fs

stream: node之stream

http: node之http

url: node之url

path: node之path

crypto: node之crypto

猜你喜欢

转载自blog.csdn.net/mx18519142864/article/details/80707204