Node.js是什么?提供了哪些内容?
什么是Node.js?
Node.js是基于Chrome V8 引擎的 JavaScript运行时(运行环境)。
Node.js提供了哪些内容?
- Node.js运行时,JavaScript代码运行时的环境。
- 提供了一些核心模块,应用程序编程接口(Application Program Interface, API)
- 官方API文档 https://nodejs.org/dist/latest-v12.x/docs/api/
- 国内API文档 http://nodejs.cn/api/
- 交互式解析器 (Read Execute Print Loop,REPL),以及一些相关的命令
- 打开命令窗口,输入node并回车,即可进入交互式解析器
- 输入 .help 命令,获取帮助信息。
- 输入 .break 或 .clear (.break命令的别名)跳出当前代码块,例如,if(true)[ .break
- 输入 .save 命令,可以将当前会话中的代码保存到一个文件中,例如, .save app.js
- 输入 .load 命令,可以一个文件中的代码加载到当前会话中执行,例如,.load app.js
- 输入 .editor 命令,进入编辑器模式,Ctrl + D 编辑完成, Ctrl + C 取消编辑
- 输入 .exit 命令,回车既可以退出交互式解析器
- 引入 CommonJS 模块化规范,同时支持 ECMAScript 模块化规范
CommonJS 模块化规范
设计初衷:早期的 JavaScript 没有模块化系统,标准库比较少,缺乏包管理器工具,为了让 JavaScript 可以在如何地方执行,以达到 Java ,C# ,PHP
这些后台语言具备开发大型应用的能力。
设计理念:
- 在 Node.js 模块系统中,每个文件都被视为一个独立的模块,拥有独立的作用域。
- 使用普通方式定义的变量 ,常量 ,函数以及类等等都属于当前模块。
- 通过 exports 和 module.exports 来导出模块中的成员。
- 使用 .require()方法导入其他模块导出的成员。
- 所有的代码都运行在当前模块作用域下,不会污染全局作用域。
- 模块可以被多次导入,但是模块中的代码只会在第一次被加载时执行,执行结果会被缓存,再次加载时,则读取上次缓存的结果
- 模块会按照引入的顺序同步加载。
Node.js是什么?提供了哪些内容?的更多相关文章
- node.js不得不说的12点内容
1.node.js,服务器端的javascript,它允许在后端(脱离浏览器环境)运行javascript代码. 2.事件驱动.异步式I/O的编程模式(单线程)是其核心. 3.node.js的java ...
- Node.js高效按行输出文件内容
const fs = require('fs'); const EventEmitter = require('events'); const util = require('util'); cons ...
- node.js使用markdown-it批量转md内容为html
代码如下: var fs = require('fs'); var MarkdownIt = require('markdown-it'), md = new MarkdownIt(); /* pag ...
- Node.js 基础库
全局对象 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global对象的属性. 我们在 Node.js 中能够直接访问到对象通常都是 global ...
- Node.js文件系统、路径的操作详解
17173 17173 2 75 2014-12-12T05:06:00Z 2014-12-12T05:06:00Z 21 2735 15595 www.17173.com 129 36 18294 ...
- 推荐近期15个 Node.js 开发工具
近来Node.js 越来月流行了,这个基于Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中,我们列出了2015年最佳的15个 Node.js 开发工具.这些 ...
- 【译】在 Chrome 开发者工具中调试 node.js
原文链接 : Debugging Node.js in Chrome DevTools 原文作者 : MATT DESLAURIERS 译文出自 : 掘金翻译计划 译文链接 : https://git ...
- Node.js文件系统、路径的操作函数
Node.js文件系统.路径的操作函数 目录 Node.js文件系统.路径的操作函数 1.读取文件readFile函数 2.写文件 3.以追加方式写文件 4.打开文件 5.读文件,读取打开的文件内容到 ...
- Node.js学习(11)----HTTP服务器与客户端
Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端.http.Server 是一个基于事件的 HTTP 服务器,它的核心由 Node.js ...
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (二) 图片验证码的识别
上一篇文章讲了“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 一 京东 商品搜索 ...
随机推荐
- [转帖]linux下安装7z命令及7z命令的使用
linux下安装7z命令及7z命令的使用 https://www.cnblogs.com/yiwd/p/3649094.html yum install p7zip 执行命令为 7za x 或者是 7 ...
- jquery下拉单选框可左右移动数据
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- DRF框架(二)——解析模块(parsers)、异常模块(exception_handler)、响应模块(Response)、三大序列化组件介绍、Serializer组件(序列化与反序列化使用)
解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 form-data/urlencoded/json 2)我们可以通过配置来控制前台提交的哪些格式的数据后台在解析,哪些 ...
- Vue的router-link标签
在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制 而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的 至于为什 ...
- 微信小程序与Django<一>
小程序开发的准备工作 1. 小程序开发者账号 a) 邮箱注册 b) 开发者配置与AppID c) https://mp.weixin.qq. ...
- 转!!DBCP2 配置详解说明
转自:https://www.cnblogs.com/diyunpeng/p/6980098.html 由于commons-dbcp所用的连接池出现版本升级,因此commons-dbcp2中的数据库池 ...
- c# js 时间
DateTime GetTime(double timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new Dat ...
- Java调用Http/Https接口(5)--HttpAsyncClient调用Http/Https接口
HttpAsyncClient是HttpClient的异步版本,提供异步调用的api.文中所使用到的软件版本:Java 1.8.0_191.HttpClient 4.1.4. 1.服务端 参见Java ...
- SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制
SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制 前言 LZ最近升级SpringBoo框架到2.1.6,踩了一些坑,这里介绍的是文件上传大小限制. 升级前 #文件上传配置 ...
- 关于justify-content属性的再学习(区分三个属性)
justify-content属性: 用来表示可伸缩项目在主轴方向上的对齐方式: 取值范围为flex-start,flex-end,center,space-between,space-around: ...