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)和异步

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

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

最新文章

  1. sql中binary_checksum(*)的用法
  2. Druid数据库连接池配置
  3. Play Framework 完整实现一个APP(一)
  4. 将博客搬至CSDN(放弃)
  5. 《Head First 设计模式》ch.1 策略(Strategy)模式
  6. UTC+0800是什么意思
  7. Project Euler 94:Almost equilateral triangles 几乎等边的三角形
  8. Spring 3.2 ClassMetadataReadingVisitor 错误
  9. mac OS X 从无法同步互联网时间想到的
  10. Ubuntu18.04下安装搜狗输入法
  11. 基础常用的数据结构 Collection Map
  12. linux查看主机最后启动时间
  13. 手动搭建openstack的痛苦经历
  14. JavaScript中typeof详解
  15. Jquery重新学习之五[操作JSON数据]
  16. Vue中使用节流Lodash throttle
  17. socket函数sendto与send的区别
  18. POJ2142:The Balance——题解
  19. TreeView 类 事件
  20. Less-css扩展多样式

热门文章

  1. 微信自动关闭内置浏览器页面,返回公众号窗口 WeixinJSBridge.call('closeWindow')
  2. php中switch与ifelse的效率分析
  3. SpringMVC Root WebApplicationContext启动流程
  4. bootstrap-内联文本元素-小号文本
  5. 一维滑动窗口(SlidingWindow)
  6. 2019年2月5日训练日记关于int字节数,long int 字节数的讨论
  7. 图论--Dijkstra算法总结
  8. CF1316C Primitive Primes
  9. 白话typescript中的【extends】和【infer】(含vue3的UnwrapRef)
  10. P1640 连续攻击游戏