Nodejs模块介绍
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模块介绍的更多相关文章
- nodejs模块介绍与使用
1.内置模块 http fs path url os等等 (无需安装直接require引入即可) 2.第三方模块: express mysql ejs等等 (npm包管理工具下载require引入) ...
- NodeJS 模块开发及发布详解
NodeJS 是一门年轻的语言,扩展模块并不太全,经常我们想用某个模块但是却找不到合适的.比如前两天我需要使用hmac和sha1来做签名,就没有找到一个比较好用的模块,这时候就需要我们自己来实现相应的 ...
- [Node.js与数据库]node-mysql 模块介绍
[Node.js与数据库]node-mysql 模块介绍 转载至:https://itbilu.com/nodejs/npm/NyPG8LhlW.html#multiple-statement-q ...
- webkit模块介绍
一.Webkit模块 用到的第三方库如下: cairo 一个2D绘图库 casqt Unicode处理用的库,从QT中抽取部分代码形成的 expat 一个XML SAX解析器的库 freety ...
- 【液晶模块系列基础视频】1.2.iM_RGB模块介绍
[液晶模块系列基础视频]1.2.iM_RGB模块介绍(上) [液晶模块系列基础视频]1.2.iM_RGB模块介绍(下) ============================== 技术论坛:http ...
- 【液晶模块系列基础视频】1.1.iHMI43模块介绍
[液晶模块系列基础视频]1.1.iHMI43模块介绍(上) [液晶模块系列基础视频]1.1.iHMI43模块介绍(下) ============================== 技术论坛:http ...
- CSS3_概述、发展史、模块介绍、与浏览器之间的关系
一.CSS3概述和CSS3的发展史: 1.css3概述: CSS3是CSS2的升级版本,3只是版本号,它在CSS2.1的基础上增加了很多强大的新功能. 目前主流浏览器chrome.safari. ...
- NodeJS模块、包、NPM
1.NodeJS模块 每一个Nodejs都是一个NodeJS模块,包括JS文件,JSON文本文件,二进制模块文件. a.模块的应用 新建一个文件mytest. ...
- 嵌入式系统图形库GUI核心模块介绍
本文转载自:http://blog.csdn.net/xteda/article/details/6575278 (作者 冯青华 信庭嵌入式工作室(www.xteda.com)- CEO Blog:h ...
随机推荐
- thinkPHP--empey标签
直接上代码,这是判断内容是否为null而做出不同的html的选择 <notempey name="welfare_list"> <foreach name=&qu ...
- 2019-2020-1 20199328《Linux内核原理与分析》第五周作业
实验要求: 实验步骤: 这里以20号系统调用getpid为例进行实验,该函数的功能为:返回当前进程标识. getpid.c代码: 查看实验结果: 当前进程pid为:31042. 在C语言中编入汇编代码 ...
- Blazor WebAssembly 3.2.0 正式起飞,blazor 适合你吗?
最近blazor更新很快,今天在官方博客上发布了Blazor WebAssembly 3.2.0 RC:https://devblogs.microsoft.com/aspnet/blazor-web ...
- 【高并发】又一个朋友面试栽在了Thread类的stop()方法和interrupt()方法上!
写在前面 新一轮的面试已经过去,可能是疫情的原因吧,很多童鞋纷纷留言说今年的面试题难度又提高了,尤其是对并发编程的知识.我细想了下,也许有那么点疫情的原因吧,但无论面试的套路怎么变,只要掌握了核心知识 ...
- 【Linux常见命令】lsof命令
lsof - list open files lsof命令用于查看你进程打开的文件,进程打开的端口(TCP.UDP),找回/恢复删除的文件,打开文件的进程. 语法: lsof [选项] [文件] 常用 ...
- 一维滑动窗口(SlidingWindow)
滑动窗口(Sliding Window)问题经常使用快慢指针(slow, fast pointer)[0, slow) 的区域为滑动窗口已经探索过的区域[slow, fast]的区域为滑动窗口正在探索 ...
- POJ Building a Space Station 最小生成树
Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 15664 Accepted: 6865 Description You ...
- pycharm(py 文件中添加作者、时间)
1.打开 Pycharm,点击 File,再找到 Settings... 2.选择 Editor ----> File and Code Templates ----> Python Sc ...
- 【Hadoop离线基础总结】工作流调度器azkaban
目录 Azkaban概述 工作流调度系统的作用 工作流调度系统的实现 常见工作流调度工具对比 Azkaban简单介绍 安装部署 Azkaban的编译 azkaban单服务模式安装与使用 azkaban ...
- CF#135 D. Choosing Capital for Treeland 树形DP
D. Choosing Capital for Treeland 题意 给出一颗有方向的n个节点的树,现在要选择一个点作为首都. 问最少需要翻转多少条边,使得首都可以到所有其他的城市去,以及相应的首都 ...