博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Node.js介绍
阅读量:2384 次
发布时间:2019-05-10

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

1. 概述

Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的、可扩展的网络应用。Node.js采用事件驱动和非阻塞I/O模型,使其变得轻量和高效,非常适合构建运行在分布式设备的数据密集型的实时应用。

运行于浏览器的JavaScript,浏览器就是JavaScript代码的解析器,而Node.js则是服务器端JavaScript的代码解析器,存在于服务器端的JavaScript代码由Node.js来解析和运行。

JavaScript解析器只是JavaScript代码运行的一种环境,浏览器是JavaScript运行的一种环境,浏览器为JavaScript提供了操作DOM对象和window对象等的接口。Node.js也是JavaScript运行的一种环境,Node.js为JavaScript提供了操作文件、创建HTTP服务、 创建TCP/UDP服务等的接口,所以Node.js可以完成其他后台语言(Python、PHP等)能完成的工作。

2. 交互式运行环境:REPL

Node.js提供了一个交互式运行环境,通过这个环境,可以立即执行JavaScript代码块,使用方法类似于Chrome浏览器中Firebug插件的Console。

双击虚拟机桌面的Xfce终端,进入Linux终端:

输入node或nodejs进入Node.js的交互式运行环境(老版本的Node.js,不支持node命令,只能使用nodejs命令),Ctrl+d组合键可以退出此环境。

查看系统中安装的Node.js版本:

$ node -v$ node> console.log('shiyanlou');

225745_SUdt_2557944.png

通过交互式环境也可以运行JavaScript文件。

在虚拟机桌面新建一个JavaScript文件,命名为test.js,打开gvim,输入如下代码并保存:

var num = 100;console.log(num);console.log(num + 100);

通过Node.js交互式环境运行文件:

$ cd DesktopDesktop$ node test.js

三、Node.js模块和包

1. 模块

Node.js官方提供了很多模块,这些模块分别实现了一种功能,如操作文件的模块fs,构建http服务的模块http等,每个模块都是一个JavaScript文件,当然也可以自己编写模块。

2. 包

包可以将多个具有依赖关系的模块组织在一起,封装多个模块,以方便管理。Node.js采用了CommonJS规范,根据CommonJS规范规定,一个JavaScript文件就是一个模块,而包是一个文件夹,包内必须包含一个JSON文件,命名为package.json。一般情况下,包内的bin文件夹存放二进制文件,包内的lib文件夹存放JavaScript文件,包内的doc文件夹存放文档,包内的test文件夹存放单元测试。package.json文件中需要包含的字段及包的使用,后面的实验再做详细介绍。

3. npm包管理工具

npm是Node.js的包管理工具,npm定义了包依赖关系标准,我们使用npm主要用来下载第三方包和管理本地下载的第三方包。

转载于:https://my.oschina.net/corwien/blog/656003

你可能感兴趣的文章
apache去掉用户权限
查看>>
BT 4安装到硬盘
查看>>
运用sslstrip进行中间人攻击(Bypass https)
查看>>
UNIX系统被删文件的恢复策略(ext3被删除的恢复)
查看>>
说话的注意事项
查看>>
HookFinder: Identifying and Understanding Malware Hooking Behaviors(包括构建自动化分析malware的tools)
查看>>
iOS Application Security
查看>>
mysql-noinstall安装指南
查看>>
Mandiant发布的恶意软件报告(恶意软件已经转移到了WMI和powershell)
查看>>
Detecting Kippo SSH honeypots, bypassing patches, and all that jazz.
查看>>
WebLogic SSRF And XSS (CVE-2014-4241, CVE-2014-4210, CVE-2014-4242)
查看>>
威胁情报 应急响应 以及 恶意软件分析资料
查看>>
Investigating with Network-based Evidence
查看>>
malware anti-sandbox
查看>>
nmon分析工具
查看>>
Mysql Explain 详解[强烈推荐]
查看>>
MySQL的性能调优工具
查看>>
对apache中并发控制参数prefork理解和调优
查看>>
IE plugins/tools for pen-testers
查看>>
开源的web防火墙
查看>>