Node 之 模块加载原理与加载方式

 Node.js中的模块可以分为原生模块和文件模块,通过Node.js中可以通过require方法导入模块、exports方法导出模块。

 

 1、require导入模块

         对于原生模块(比如说:http),只需要使用require(‘http’)导入这个模块并将其赋值给一个变量即可使用这个模块导出的属性、方法等。

       

const  http =require('http');
http.createServer(
   //这里写入你的代码


)

       对于文件模块,可以使用“./”前缀来指代当前的路径,从而使用相对路径来进行加载模块。加载模块时,可以不写.js拓展名。比如,在同级文件交node中有一个名为testOne.js的文件模块,可以这样进行导入:

const One=require('./node/testOne');

2、exports导出模块

     一个模块中的变量和方法只能用于这个模块,如果想要与去其他模块共享一些方法、属性等,就可以通过exports导出一个对象。在这个对象中可以包含想要与其他模块共享的方法和属性等。

      若一个模块中有两个想要与其他模块共享的方法,一个用于数组去重,一个用于计算数组之和,就可以像下面代码这样进行导出:

exports.js

const util ={
    
    noRepeat:function(arr){
        return arr.filter(function(ele,index){
            
            
            return arr.indexOf(ele)==index;
            
        });
        
    },
    
    add:function(arr){
        
        return arr.reduce(function(ele1,ele2){
            
            return ele1+ele2;
            
        });
    }
};

module.exports=util;

     这个模块的名字为exports.js ,同级目录下可以通过require 使用该模块,代码如下:

 

 由上图可知,说明模块导入成功。

 

 

     

posted @ 2019-07-18 21:22  perfect*  阅读(838)  评论(0编辑  收藏  举报
$(function() { $('#cnblogs_post_body img').each(function() { let imgSrc = $(this).attr('src'); let year = parseInt(imgSrc.substr(imgSrc.indexOf('g')+1,4)); if(year >= 2022){ imgSrc += `?watermark/2/text/amlndWl5YW4=/font/5a6L5L2T/fontsize/15/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast`; $(this).attr('src', imgSrc) } }) })