zoukankan      html  css  js  c++  java
  • nodeJs中系统模块的常用方法和自定义模块暴露

    http:
    这个模块用来创建http服务。
    创建服务: http.createServer(fucntion(req,res){
       //这个回调函数是用户输入地址发送请求后触发
       设置响应头: res.writeHead(200,{'content-type':'text/html;charset=utf-8'});
       设置响应内容: res.write('内容');
       响应结束:res.end()
    
    })
    监听端口号: server.listen()
    
    url:
    url这个模块用来操作用户发送请求的地址,将其序列化为对象,方便操作
    var urlads = 'http://www.baidu.com:8080/index.php?name=jack#bbs'
    
    url.parse(urlads) 将一个url地址转为一个对象,如下所示
    
    Url {
        protocol: 'http:',  //传输协议
        slashes: true,
        auth: null,
        host: 'www.baidu.com:8080',  //主机名(域名)+端口号
        port: '8080',            //端口号
        hostname: 'www.baidu.com',  //主机名(域名)
        hash: '#bbs',           //哈希值
        search: '?name=jack', //问号加传递的数据
        query: 'name=jack',   //传递的数据
        pathname: '/index.php',  //请求的文件路径及名称
        path: '/index.php?name=jack', //请求的文件路径名称及传递的数据
        href: 'http://www.baidu.com:8080/index.php?name=jack#bbs' //请求的url地址
     }
    
    var urlObj = {
        protocol: 'http:',  
        hostname: 'www.baidu.com',
        port: '8080',  
        pathname: '/index.php',
        search: '?name=jack', 
        hash: '#bbs',   
    }
    
    url.format(urlObj) 将一个对象转为url格式的字符串
    输出:http://www.baidu.com:8080/index.php?name=jack#bbs'
    
    fs:
    fs模块是服务器端操作文件的模块。我们可以对文件及文件夹进行增删改查。
    创建目录:fs.mkdir();
    删除目录:fs.rmdir();
    重命名目录:fs.rename();
    读取目录: fs.readdir(dir,function(err,files){
               // files 是一个数组  读取的dir中的所有内容
        });
    创建文件:fs.writeFile();
    查看文件信息:fs.stat('./name',function(err,data){
             data.isFile()  //读取的是不是一个文件
             data.isDirectory() //读取的是不是一个文件夹
    });
                       
    删除文件: fs.unlink();
    同步读取:fs.readFileSync()
    异步读取: fs.readFile()
    
    path:
    这个模块主要是获取文件的路径的信息。
    获取当前文件的路径:path.dirname();
    获取当前文件的文件名: path.basename();
    获取当前文件的扩展名: path.extname()
    
    querystring:
    这个一个针对用户发送的数据进行操作的模块,处理的是url地址?之后的部分。
    将一个字符串转为对象格式:querystring.parse();
    var str = 'name=jack&age=18'
    querystring.parse(str);  输出:{name:'jack',age:18}
    
    将一个对象字面量形式转为字符串以&符连接:queryString.stringify()
    var obj = {name:'jack',age:18}
    queryString.stringify(obj)  输出:'name=jack&age=18'
    
    global:
    在JS中global是window的一部分,但是在node中,global是单独存在的对象。
    __filename:  当前运行文件的路径(带当前文件名)
    __dirname:  当前运行文件的路径(不带当前文件名)
    setInterval(fn,1000) : 定时器
    setTimeout(fn,1000)  : 定时器
    

    自定义模块

        引入: 在require自定义模块的时候一定要加上路径
        暴露方法:
            exports  用来暴露变量  
            module.exports用来暴露一个构造函数(不能用exports)
    abc.js:
    var aa = '11';
    var bb = '22';
    exports aa =aa;
    exports bb = bb;
    
    ss.js:
    function abc(name){
        this.name = name;
    }
    abc.prototype = {
        say: function(){}
    }
    module.exports = abc;
  • 相关阅读:
    统计数据持久化
    缓存层的实现
    C++语法疑点
    为什么需要定义虚的析构函数?
    C++ shared_ptr deleter的实现
    条件变量
    ubuntu  输入时弹出剪切板候选项
    leetcode Bitwise AND of Numbers Range
    C/C++ 字符串 null terminal
    C++ inline weak symbol and so on
  • 原文地址:https://www.cnblogs.com/rainbow8590/p/7096128.html
Copyright © 2011-2022 走看看