zoukankan      html  css  js  c++  java
  • 模块

    模块 --->  可以理解为是一个功能体(积木块)

     nodejs下模块分为自定义模块、核心模块(官方提供)、第三方模块

     node.js下,任意一个文件都是一个模块,任意一文件中的代码都是被一个构造函数所包含

    //(function(exports,require,module,__dirname,__filename){
        var a=1;
        console.log(__dirname);      // 当前文件的完整路径
        console.log(__filename);     // 当前文件的完整路径和文件名称
    //})

    require('./02.js');                // 引入一个模块

    例1:

    //【02.js】
    console.log('02.js');
    // 【02.js】
    // 引入02.js的模块 // ./同一级目录 
    require('./02.js');

    例2:

    console.log('02.js');
    var a=1;
    function fn(){
        console.log(123);
    }
    // 把a变量和fn公开
    module.exports.a=a;        // module指代当前的模块对象
    module.exports.fn=fn;      // module.exports    当前模块的导出对象(公开),可以提供其他的模块使用的属性和方法;
    
    
    // 引入02.js的模块
    // ./同一级目录
    var obj = require('./02.js');
    console.log(obj);
    obj.fn();

     例3:

    【main.js】

    /*
    练习:创建两个模块,main.js和circle.js;在功能模块中创建两个函数,
    传递1个参数,分别获取圆的周长getlength和面积getarea,
    导出这两个函数,在主模块中引入功能模块,调用两个方法;*/
    
    var obj = require('./circle.js');
    console.log(obj);
    console.log(obj.getlength(2));
    console.log(obj.getarea(2));

    【circle.js】

    function getlength(r){
        return 2*PI*r;
    }
    
    function getarea(r){
        return PI*r*r;
    }
    // 公开函数
    module.exports.getlength=getlength;
    module.exports.getarea=getarea;
  • 相关阅读:
    Bzoj3339 Rmq Problem
    Bzoj3509 [CodeChef] COUNTARI
    浅析python日志重复输出问题
    mysql练习题
    python学习之思维导图
    python面向对象编程练习
    Python常见下划线
    内置方法
    类的绑定方法与非绑定方法
    封装
  • 原文地址:https://www.cnblogs.com/hd-test/p/11804029.html
Copyright © 2011-2022 走看看