zoukankan      html  css  js  c++  java
  • Node.Js的Module System 以及一些常用 Module

        Node.Js学习就按照这本书的流程来。image

        在第7章结束与第10章结束时分别自己出一个小项目练练手。Node.Js的入门学习计划是这样。

        目录:image

        QQ:1045642972 欢迎来索书以及讨论Node.Js。


     

    Node.Js Demo

        Node.Js官网提供了一个最基本的Demo Code:

    var http = require('http');
    http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'text/plain'});
        res.end('Hello World');
    }).listen(1337, '127.0.0.1');
    console.log('Server running at http://127.0.0.1:1337/');

        运行之后,浏览器中输入URL,结果:image

        require('http'); 就是从Node.Js提供的http 这个module中获取导出的对象,以进行之后的创建侦听端口的操作。


     

    Module

        Module System的4个要点:

    • 每个Js文件都映射一个Module。
    • 在每个Js文件中,都可以通过module这个变量,来直接操作到Module。
    • 导出模块借助于module.exports这个变量
    • 导入模块借助于require这个全局函数。

        直接上代码来说明

        文件结构:imagePS:由于Js没有main(),Node.Js社区中约定将主流程写在app.js中。

        utility模块如下:

    var title = "Hello Node";
    
    module.exports = {
        SetTitle : function(titleName){
            title = titleName;
        },
        Output : function () {
            console.log(title);
        }
    }

        app.js对于该模块的测试代码如下:

    var module = require("./utility");
    
    module.SetTitle("Hello CNBLOG");
    module.Output();
    
    console.log(module.title);

        结果:

        image

       Node.Js的Module是非常安全的,每个module只能拿到exports变量出来的东西。


     

    Path Module

        提供与文件路径有关的功能,并且可以适应操作系统的环境(即Windows的与Unix的/)。

        DEMO(测试环境为Windows):

    var path = require("path");
    
    console.log(path.normalize("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
    //Output:C:UsersGuanWebstormProjectsNodeStudy01app.js
    
    console.log(path.join("C:/Users/Guan/WebstormProjects", "NodeStudy01", "app.js"));
    //Output:C:UsersGuanWebstormProjectsNodeStudy01app.js
    
    console.log(path.dirname("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
    //Output:C:/Users/Guan/WebstormProjects/NodeStudy01
    
    console.log(path.basename("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
    //Output:app.js
    
    console.log(path.extname("C:/Users/Guan/WebstormProjects/NodeStudy01/app.js"));
    //Output:.js

     

    fs Module

        提供了异步与同步两种模式读写文件的功能。

        DEMO:

    var fs = require('fs');
    
    fs.writeFileSync('testA.txt', "Hello Node");
    console.log(fs.readFileSync('testA.txt').toString());
    
    fs.writeFile('testB.txt', "Hello Node", function () {
        console.log(fs.readFileSync('testB.txt').toString());
    });

     

    os Module

        该模块提供了获取当前系统OS有关的功能,如:获取CPU核数,内存余量等。

        DEMO:

    console.log('Total Memory', os.totalmem(), 'Bytes');
    console.log('Available Memory', os.freemem() , 'Bytes');
    console.log('This machine has', os.cpus().length, 'CPUs');

        当然,Module还有很多,具体参考Node.Js官网的API DOC。

  • 相关阅读:
    jar强退出 JVM报错:Failed to write core dump. Core dumps have been disabled.
    配置 DHCP Snooping 和 IPSG
    OpenOffice
    RabbitMQ ADD
    YAPI 接口管理
    mysql:1153 Got a packet bigger than ‘max_allowed_packet’ bytes的解决方法
    修改端口的VLAN
    阿里云OSS设置跨域访问
    seata连接nacos 报错
    Linux登录超时问题
  • 原文地址:https://www.cnblogs.com/E-WALKER/p/4592115.html
Copyright © 2011-2022 走看看