什么是Node.js?

  Node.js是基于Chrome V8 引擎的 JavaScript运行时(运行环境)。

Node.js提供了哪些内容?

  • Node.js运行时,JavaScript代码运行时的环境。
  • 提供了一些核心模块,应用程序编程接口(Application Program Interface, 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是什么?提供了哪些内容?的更多相关文章

  1. node.js不得不说的12点内容

    1.node.js,服务器端的javascript,它允许在后端(脱离浏览器环境)运行javascript代码. 2.事件驱动.异步式I/O的编程模式(单线程)是其核心. 3.node.js的java ...

  2. Node.js高效按行输出文件内容

    const fs = require('fs'); const EventEmitter = require('events'); const util = require('util'); cons ...

  3. node.js使用markdown-it批量转md内容为html

    代码如下: var fs = require('fs'); var MarkdownIt = require('markdown-it'), md = new MarkdownIt(); /* pag ...

  4. Node.js 基础库

    全局对象 Node.js 中的全局对象是 global,所有全局变量(除了 global 本身以外)都是 global对象的属性. 我们在 Node.js 中能够直接访问到对象通常都是 global ...

  5. 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 ...

  6. 推荐近期15个 Node.js 开发工具

    近来Node.js 越来月流行了,这个基于Google V8 引擎建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.在本文中,我们列出了2015年最佳的15个 Node.js 开发工具.这些 ...

  7. 【译】在 Chrome 开发者工具中调试 node.js

    原文链接 : Debugging Node.js in Chrome DevTools 原文作者 : MATT DESLAURIERS 译文出自 : 掘金翻译计划 译文链接 : https://git ...

  8. Node.js文件系统、路径的操作函数

    Node.js文件系统.路径的操作函数 目录 Node.js文件系统.路径的操作函数 1.读取文件readFile函数 2.写文件 3.以追加方式写文件 4.打开文件 5.读文件,读取打开的文件内容到 ...

  9. Node.js学习(11)----HTTP服务器与客户端

    Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端.http.Server 是一个基于事件的 HTTP 服务器,它的核心由 Node.js ...

  10. e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (二) 图片验证码的识别

    上一篇文章讲了“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 一 京东 商品搜索 ...

随机推荐

  1. [转帖]linux下安装7z命令及7z命令的使用

    linux下安装7z命令及7z命令的使用 https://www.cnblogs.com/yiwd/p/3649094.html yum install p7zip 执行命令为 7za x 或者是 7 ...

  2. jquery下拉单选框可左右移动数据

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  3. DRF框架(二)——解析模块(parsers)、异常模块(exception_handler)、响应模块(Response)、三大序列化组件介绍、Serializer组件(序列化与反序列化使用)

    解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 form-data/urlencoded/json 2)我们可以通过配置来控制前台提交的哪些格式的数据后台在解析,哪些 ...

  4. Vue的router-link标签

    在vue1.0版本的超链接标签还是原来的a标签,链接地址由v-link属性控制 而vue2.0版本里超链接标签由a标签被替换成了router-link标签,但最终在页面还是会被渲染成a标签的 至于为什 ...

  5. 微信小程序与Django<一>

    小程序开发的准备工作 1.       小程序开发者账号 a)         邮箱注册 b)         开发者配置与AppID c)         https://mp.weixin.qq. ...

  6. 转!!DBCP2 配置详解说明

    转自:https://www.cnblogs.com/diyunpeng/p/6980098.html 由于commons-dbcp所用的连接池出现版本升级,因此commons-dbcp2中的数据库池 ...

  7. c# js 时间

    DateTime GetTime(double timeStamp) { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new Dat ...

  8. Java调用Http/Https接口(5)--HttpAsyncClient调用Http/Https接口

    HttpAsyncClient是HttpClient的异步版本,提供异步调用的api.文中所使用到的软件版本:Java 1.8.0_191.HttpClient 4.1.4. 1.服务端 参见Java ...

  9. SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制

    SpringBoot1.x升级SpringBoot2.x踩坑之文件上传大小限制 前言 LZ最近升级SpringBoo框架到2.1.6,踩了一些坑,这里介绍的是文件上传大小限制. 升级前 #文件上传配置 ...

  10. 关于justify-content属性的再学习(区分三个属性)

    justify-content属性: 用来表示可伸缩项目在主轴方向上的对齐方式: 取值范围为flex-start,flex-end,center,space-between,space-around: ...