zoukankan      html  css  js  c++  java
  • Nodejs模块

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

    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 const fs = require('fs');
     2 function show(){
     3     if(!fs.existsSync('num.txt')){
     4         fs.writeFileSync('num.txt',0);
     5         console.log('创建新文件成功');
     6     }else{
     7         var res = fs.readFileSync('num.txt');
     8         var num = parseInt(res);
     9         num+=1;
    10         fs.writeFileSync('num.txt',num);
    11         console.log(num);
    12     }
    13 }
    14 show();    
    View Code
  • 相关阅读:
    LAMP企业架构读写分离
    docker技术入门(2)
    docker技术入门(1)
    终极实验
    java——并查集 UnionFind
    java——字典树 Trie
    java——线段树 SegmentTree
    java——最大堆 MaxHeap
    java——链表映射 LinkedListMap
    java——数据结构
  • 原文地址:https://www.cnblogs.com/resultset/p/Nodejs.html
Copyright © 2011-2022 走看看