Node.js只支持单线程,故不会产生死锁,采用非阻塞I/O机制和事件环机制。非常适合与开发需要处理大量并发的输入/输出的应用程序。

  一. Node.js的核心模块有很多,这里先写几个比较常用的(目前我个人较常用的,不代表大众):
   1.buffer:用于实现二进制数据的存储和转换;
   2.child-process:用于实现子进程的创建与管理;
   3.console:用于控制台输出信息;
   4.events:用于为事件处理提供一个基础类;
   5.fs:用于操作文件及文件系统;
   6.http:用于实现HTTP服务器端及客户端;
   7.https:用于实现HTTPS服务器端及客户端;
   8.path:用于处理文件路径;
   9.string_decoder:用于实现从二进制数据到字符串数据之间的转换;
  10.url:用于实现URL字符串的解析与格式化。
  二.Node.js中有以下几个追加的类、函数及对象可以在不引用任何模块的情况下使用:
  1.buffer类:用于为二进制数据的存储提供一个缓存区;
  2.setTimeout函数:
  3.clearTimeout函数:
  4.setInterval函数:
  5.clearInterval函数:
  6.require对象:用于加载模块;
  7.module对象:用于访问模块信息;
  8.process对象:用于访问进程信息。
三.REPL
  REPL是Node.js提供的一个交互式运行环境。在命令行窗口输入“node”命令并按下回车即可进入REPL运行环境,REPL运行环境中的命令提示符默认为“>”。
 1.在REPL运行环境中,可以通过下划线“_”来访问最近使用的表达式;
 2.在REPL运行环境中的基础命令:

  • .break:当书写一个多行的函数中途想放弃或重写,该命令可使你返回到命令提示符的起点处,快捷键Ctrl+c有同样的效果;
  • .clear:用于清除REPL运行环境的上下文对象中保存的所以变量和函数,另外,.clear也有.break的功能;
  • .exit:用于退出REPL运行环境,也可按两次Ctrl+c;
  • .save:把写在REPL运行环境中的所有表达式保存到一个文件中,可以指定文件的路径;
  • .load:把某个文件中保存的所有表达式一次加载到REPL运行环境中,可以指定文件的路径;

四.Node.js中常用的方法及函数
   1.console.dir:用于查看一个对象中的内容并将该对象的信息输出到控制台中;
   2.console.time方法与console.timeEnd方法:统计一段代码的执行时间。console.time用于标记开始时间,console.timeEnd用于标记结束时间。并将经过的毫秒数输出到控制台;使用方法:
    console.time(label)  console.timeEnd(label)
  这两个方法的参数必须相同,参数值可以是任何字符串。
   3.console.assert方法:用于对一个表达式的执行结果进行评估,如果该表达式的执行结果为false。则输出一个消息字符串,并抛出AssertError异常。
   4.使用require.resolve函数查询完整模块名:(只做查询,不加载)
      用法,例: require.resolve("./test.js");
   5.require.cache对象:该对象代表缓存了所有已被加载模块的缓存区。可以用“console.log(require.cache)”来查看。
五.Node.js中的包
   一个包中通常包含以下内容:
      1.包的根目录中存放package.json文件;
      2.在lib子目录中存放Javascript文件;
      3.在bim中存放二进制文件;
      4.在doc中存放对包和包的只用方法的说明文件;
      5.在test子目录中存放一些测试用的文件。
package.json文件中包含的字段及作用:
     name:包名,包名必须是唯一的,由小写字母、数字、下划线组成,不能有空格;
     preferglobal:是否支持全局安装,true为支持,false为不支持;
     description:包说明;
     version:版本号;
     author:作者信息;
     repository:仓库托管地址数组;
     dependencies:本包所依赖的包,是一个关联数组,有包名和版本号组成;
npm包管理工具:
    1.  npm root -g //查看Node.js的全局包的安装路径
    2.  npmconfig set prefix “d:\node” //修改Node.js的全局包的安装路径到“d:\node\node_modules”;
    3. npmlist  //查看当前目录下安装的所有包,若要查看全局,加“-g”;
    4.npm uninstall <包名>  //卸载当前目录下的某个包,若要卸载全局中的,在包名前加“-g”;
    5. npm update <包名>    //更新当前目录下的某个包,若要卸载全局中的,在包名前加“-g”.

Node.js基础知识普及的更多相关文章

  1. Node.js基础知识

    Node.js入门   Node.js     Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始.比较独特的是,Node.js会假设在POSIX环境下运行 ...

  2. NodeJs>------->>第三章:Node.js基础知识

    第三章:Node.js基础知识 一:Node.js中的控制台 1:console.log.console.info  方法 console.log(" node app1.js 1> ...

  3. Node.js权威指南 (3) - Node.js基础知识

    3.1 Node.js中的控制台 / 19 3.1.1 console.log方法 / 19 3.1.2 console.error方法 / 20 3.1.3 console.dir方法 / 21 3 ...

  4. node.js 基础知识之 querystring.stringify querystring.escape

    序列化   1.  querystring.stringify({name:'chenshuai',ago:21,job:"web"})    'name=chenshuai&am ...

  5. [JS复习] JS 基础知识

    项目结尾,空闲时间,又把<JS 基础知识> 这本书过了一遍,温故知新后,很多知其然不知其所以然的内容 豁然开朗. [1. 用于范围的标签] display  :inline or bloc ...

  6. Node.js基础与实战

    Node.js基础与实战 Node.jsJS高级进阶 NODE原理与解析 REPL交互环境 模块与NPM Buffer缓存区 fs文件操作 Stream流 TCP&UDP 异步编程 HTTP& ...

  7. HTML+CSS+JS基础知识

    HTML+CSS+JS基础知识 目录 对HTML+CSS+JS的理解 基础知识 对HTML+CSS+JS的理解 基础知识 插入样式表的三种方式 外部样式表:<link rel="sty ...

  8. node.js基础模块http、网页分析工具cherrio实现爬虫

    node.js基础模块http.网页分析工具cherrio实现爬虫 一.前言      说是爬虫初探,其实并没有用到爬虫相关第三方类库,主要用了node.js基础模块http.网页分析工具cherri ...

  9. 网站开发进阶(十五)JS基础知识充电站

    JS基础知识充电站 1.javascript alert弹出对话框时确定和取消两个按钮返回值? 用的不是alert对话框,是confirm confirm(str); 参数str:你要说的话或问题: ...

随机推荐

  1. Tickets---hdu1260(简单dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1260 题意是有n个人排队买票,第 i 个人买票所需要的时间是a[i],这个人和 i-1 或者 i+1 ...

  2. 字符串 (string)与字节数组(byte[])之间的转换

    string str = "abc" //字符串转成编码为GB2312的byte[] byte[] pData =System.Text.Encoding.GetEncoding( ...

  3. Virtualbox报错------>make sure the kernel module has been loaded successfully

    错误描述 很久没有用virtualbox了,今天打算在virtualbox上安装一个Ubuntu系统的时候,新建好Ubuntu后启动的时候,直接报错: Cannot access the kernel ...

  4. Android---55---Web Service概述

    Web Service 是什么? /*w3school*/ Web Services 是应用程序组件 Web Services 使用开放协议进行通信 Web Services 是独立的(self-co ...

  5. 修改 item2 用户名

    首先在命令行输入 cd .oh-my-zsh/themes 如下图: 然后命令行输入 sudo vi agnoster.zsh-theme 如下图: 最后在编辑主题文件 在 prompt_segmen ...

  6. zookeer安装

    解压:tar xf zookeeper-3.4.9.tar.gz进入目录cd /opt/zookeeper-3.4.9/ 编辑配置文件:vim zoo.cfg# The number of milli ...

  7. VGA显示

    VGA控制器的编写主要是了解VGA的显示标准和时序,如1024X768@60Hz,确定时钟频率(65MHz=1344X806X60),列像素时间等于时钟周期,扫描从左到右.从上到下(类似于电视扫描PA ...

  8. Python-Cpython解释器支持的进程与线程

    一.Python并发编程之多进程 1. multiprocessing模块介绍 python中的多线程无法利用多核优势,如果想要充分地使用多核CPU的资源(os.cpu_count()查看),在pyt ...

  9. Django基础——模板层(template) (Day67)

    阅读目录 变量 标签 自定义过滤器和标签 模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 ...

  10. beego——XSRF过滤

    跨站请求伪造,简称XSRF,是Web应用中常见的一个安全问题. 当前防范 XSRF 的一种通用的方法,是对每一个用户都记录一个无法预知的token数据, 然后要求所有提交的请求(POST/PUT/DE ...