1.模块系统

require:引入模块,返回一个对象

module:指代当前的模块对象

module.exports:当前模块的导出对象

exports:指代module.exports

__filename:当前模块的绝对目录和模块名称

__dirname:当前模块的绝对目录

2.模块引入

 

以路径开头

不以路径开头

文件模块

require('./circle.js')

常用于引入自定义的模块,后缀名.js可以省略

require('url')

常用于引入官方提供的核心模块

目录模块

require('./02_2')

到02_2下寻找package.json文件中main属性对应的文件名称,如果找不到引入index.js

require('04_2')

会到当前目录下的node_modules中寻找04_2目录,如果找不到,往上一级查找指定顶级目录;常用于引入第三方模块

3.包和npm

CommonJS是一种规范,JS向服务器端发展就遵循了这个规范

包(package)就是一个目录模块

切换目录

     cd 完整路径

指定的目录空白区域,按住shift键,单击鼠标右键,选择'在此处打开powershell窗口'

使用npm安装(下载)

npm install   包名称   回车

自动下载安装到所在目录下的node_modules中

npm  init  -y  初始化一个package.json文件,用于记录安装的包相关信息

npm  install   回车

自动安装package.json中记录的包名称以及版本号

npm官网

https://www.npmjs.com

4.querystring模块

查询字符串:浏览器向服务器发请求,传递数据的一种方式

jd.com/Search?keyword=手机&enc=utf-8

parse()  将查询字符串解析为对象

stringify()  将对象格式转化为查询字符串

5.url模块

http://www.baidu.cn:80/detail.html?lid=5

parse()       将URL解析为对象

protocol      协议

hostname   主机名 域名/ip地址

port            端口

pathname   请求的文件路径名称

format             将对象格式化为URL

注意:query中对应的是对象

6.全局函数

parseInt/parseFloat/isNaN/isFinite/eval...

(1)一次性定时器

var  timer=setTimeout(回调函数,间隔时间)

当间隔时间到了,执行一次回调函数;单位是毫秒

清除

clearTimeout(timer);

(2)周期性定时器

开启

var timer=setInterval(回调函数,间隔时间)

每隔一段时间,执行一次回调函数

清除

clearInterval(timer);

(3)立即执行

开启

var timer=setImmediate(回调函数)

清除

clearImmediate(timer);

在事件队列的开头执行

(4)立即执行

process.nextTick(回调函数);

7.fs模块(文件操作)

文件包含文件目录,统称为文件。

fs.stat(path,callback)

path       文件的路径

callback   回调函数,用于获取结果

err  可能产生错误信息

stats  具体文件状态

同步(sync)和异步

同步:等待前边的代码执行完,才能执行后边的代码;会阻止后边代码的执行,通过返回值来获取结果。

异步:不会阻止后边代码执行,后边的操作可以先执行,不必等待前边的操作结束,通过回调函数来获取结果。

Nodejs模块介绍的更多相关文章

  1. nodejs模块介绍与使用

    1.内置模块 http fs path url os等等 (无需安装直接require引入即可) 2.第三方模块: express mysql ejs等等 (npm包管理工具下载require引入) ...

  2. NodeJS 模块开发及发布详解

    NodeJS 是一门年轻的语言,扩展模块并不太全,经常我们想用某个模块但是却找不到合适的.比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的 ...

  3. [Node.js与数据库]node-mysql 模块介绍

    [Node.js与数据库]node-mysql 模块介绍   转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...

  4. webkit模块介绍

    一.Webkit模块   用到的第三方库如下:   cairo 一个2D绘图库 casqt Unicode处理用的库,从QT中抽取部分代码形成的 expat 一个XML SAX解析器的库 freety ...

  5. 【液晶模块系列基础视频】1.2.iM_RGB模块介绍

    [液晶模块系列基础视频]1.2.iM_RGB模块介绍(上) [液晶模块系列基础视频]1.2.iM_RGB模块介绍(下) ============================== 技术论坛:http ...

  6. 【液晶模块系列基础视频】1.1.iHMI43模块介绍

    [液晶模块系列基础视频]1.1.iHMI43模块介绍(上) [液晶模块系列基础视频]1.1.iHMI43模块介绍(下) ============================== 技术论坛:http ...

  7. CSS3_概述、发展史、模块介绍、与浏览器之间的关系

    一.CSS3概述和CSS3的发展史: 1.css3概述: CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能.    目前主流浏览器chrome.safari. ...

  8. NodeJS模块、包、NPM

    1.NodeJS模块        每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用               新建一个文件mytest. ...

  9. 嵌入式系统图形库GUI核心模块介绍

    本文转载自:http://blog.csdn.net/xteda/article/details/6575278 (作者 冯青华 信庭嵌入式工作室(www.xteda.com)- CEO Blog:h ...

随机推荐

  1. 免费 https 申请步骤,你必须知道

    不适用 https 加密的网站,基本上就等于在裸奔. 来,开始开始动手做 我的系统是 CentOS6 第一步:安装Certbot Certbot可以用于管理(申请.更新.配置.撤销和删除等)Let's ...

  2. Linux系统管理第六次作业 进程和计划任务管理

    1.通过ps命令的两种选项形式查看进程信息 [root@localhost ~]# ps aux USER        PID %CPU %MEM    VSZ   RSS TTY      STA ...

  3. 【linux题目】第二关

    1.创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容”inet addr:10.0.0.8 Bcast:10.0.0.255 Ma ...

  4. nodejs实现定时爬取微博热搜

    The summer is coming " 我知道,那些夏天,就像青春一样回不来. - 宋冬野 青春是回不来了,倒是要准备渡过在西安的第三个夏天了. 废话 我发现,自己对 coding 这 ...

  5. javascript SDK开发之webpack中eslint的配置

    eslint的好处就不多说了.代码检查,代码报错, 智能提示,让开发人员更规范的撸代码等等. 1.安装依赖 npm install --save-dev eslint eslint-friendly- ...

  6. element-ui中cascader同时获取label和value值

    关于elementUI中cascader选中值后,能获取value或者label,但不能同时获value和label,这一问题,琢磨出了这么个办法.以新增和编辑城市为例,type: 1 编辑,type ...

  7. 利用Mysqlbinlog恢复数据库数据

    关于binlog的详解请参考:http://zlyang.blog.51cto.com/1196234/1833062 binlog日志用于记录所有更新了数据或者已经潜在更新了数据的所有语句.语句以& ...

  8. 图论——Tarjan 初步 DFS序+时间戳+欧拉序

    一.什么是DFS序: DFS序是按照先序遍历,先遍历根节点然后依次遍历左子树,右子树的过程,每次遇到新的节点就把新访问节点加到序列中,代码如下: int DFSrk[100000]; int cnt= ...

  9. linux下编译boost的多线程程序

    linux下面用boost库进行多线程编程,一开始总是编译不成功,花了好多的时间. 下面是一段小示例代码: //start from the very beginning,and to create ...

  10. Java——Java代码的执行顺序

    该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...