经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Node.js » 查看文章
Nodejs模块
来源:cnblogs  作者:零晨三点半  时间:2019/4/8 12:45:15  对本文有异议

一、模块:模块是一个独立的功能体。

1.nodejs下模块分为核心模块、自定义模块、第三方模块

2.nodejs下每一个文件(包括目录)都可以称为模块

3.nodejs下,任意一个脚本文件都自动被一个构造函数所包含

(function(exports,require,module,__filename,__dirname){

//程序员编写的代码

})

 

__filename:当前模块(文件)的绝对路径和名称

__dirname:当前模块(文件)的绝对路径

require:用于引入一个模块,模块前需要加路径require(‘xxx.js’);如果模块后缀名是js则可以省略

module:指当前模块

module.exports:当前模块的导出对象,可以供其他模块使用的属性的方法

exports:等价于module.exports

 

 

 

 

 

 

 

 

 

 

 

4.模块的分类

 

以路径开头

不以路径开头

文件模块

require(‘./xxx’),常用语用户自定义的模块,如果后缀为js,则可以省略

require(‘querstring’)常用于引入官方提供的核心模块

目录模块

require(‘./xxx’),会在目录xxx下自动寻找package.jsonmain属性对应的文件,如果没有则会自动引入index.js

require(‘xxx’),要求引入的目录下的node_modules中,如果没有则会到上一级目录下寻找,知道顶层,常用语第三方模块

 

 

 

 

 

 

 

 

 

 

5.核心模块

5.1查询字符串模块-querystring

URL中问号后的部分就是查询字符串

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

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

5.2URL模块

parse()   将一个完整的URL解析为对象

protocol 协议

hostname 主机名称(域名/IP地址)

port 端口

pathname 文件在服务器上的路径

query 查询字符串

hash 获取哈希(当前页面跳转)部分

format() 将对象格式化为URL

query 属相对应的值要求是对象

//引入查询字符串模块

const querystring = require('querystring');

//引入URL对象

const url = require('url');

var str = 'http://xxxx';

//url解析为对象

var obj = url.parse(str);

//console.log(obj);

//获取查询字符串

var qs = obj.query;

//将查询字符串解析为对象

var obj2 = querystring.parse(qs);

console.log(obj2.course,obj2.cid);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.文件系统模块-fs

对比同和异步的区别?

同步会阻止后续代码的执行,只有方法执行完才会继续执行后边的代码,是通过方法返回值来获取结果

异步不会阻止后续代码的执行,把执行放到事件队列中执行,在所有主线程代码执行完才会执行事件队列的内容,是通过回调函数来获取结果

6.1创建目录

mkdir(路径,回调函数)  /  mkdirSync(路径)

6.2读取目录

readdir(路径,回调函数)  /  readdirSync(路径)

6.3移除目录

rmdir(路径,回调函数) /  statSync(路径)

6.4查看文件的状态

stat(路径, 回调函数) / statSync(路径)

6.5清空写入文件(创建文件)

writeFile(路径, 数据, 回调函数)/writeFileSync(路径, 数据)

6.6追加写入文件(创建文件)

appendFile(路径, 数据, 回调函数)/appendFileSync(路径,数据)

6.7读取文件

readFile(路径, 回调函数)/readFileSync(路径)

6.8删除文件

unlink(路径, 回调函数)/unlinkSync(路径)

6.9判断文件(目录)是否存在

existsSync(路径)

eg:计数器:判断文件num.txt是否存在,如果不存在则创建创建,并存储值0,;从num.txt中读取数字,然后再加1,打印出来;把加1后的结果再次写入到num.txt中

  1. 1 const fs = require('fs');
  2. 2 function show(){
  3. 3 if(!fs.existsSync('num.txt')){
  4. 4 fs.writeFileSync('num.txt',0);
  5. 5 console.log('创建新文件成功');
  6. 6 }else{
  7. 7 var res = fs.readFileSync('num.txt');
  8. 8 var num = parseInt(res);
  9. 9 num+=1;
  10. 10 fs.writeFileSync('num.txt',num);
  11. 11 console.log(num);
  12. 12 }
  13. 13 }
  14. 14 show();
View Code

 

原文链接:http://www.cnblogs.com/resultset/p/Nodejs.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号