Node中的模块化之自定义模块

nodejs为我们提供了很多模块,但是我们也可以自己定义一个模块
首先在我们的node文件夹中创建两个文件,一个叫做1.js,另一个叫做mode.js(名字可以随便叫),

mode.js中写的是我们自定义的模块,1.js要使用我们自定义的模块

在mode.js中我们自定义一个模块,声明一个变量

    var a=12;

在1.js中我们要使用mode.js自定义的变量

const mod1=require('./mode.js');   //引入自定义模块,我们会发现引入自定义模块前面的路径要加上 ./,必须加,不加会出错
console.log(mod1.a);//输出模块中的变量

这时我们在命令行中执行 node 1.js 会发现输出undefined
这时因为1.js要访问模块mode.js中的内容,那么mode.js中的值就必须输出,我们用exports实现这个功能,所以mode.js中的内容需要改为

 export.a=12;

这时我们再在命令行中执行node 1.js时会发现12被输出了

但是如果我们的模块中不止有a,还有b,c,这时我们就需要把这些变量都输出

    exports.a=12;
    exports.b=5;
    exports.c=3

这时在1.js中再次输出a,b,c

  const mod1=require('./mode.js');
  console.log(mod1.a,mod1.b,mod1.c);

我们会发现a,b,c的值同样会被输出

但是这样太麻烦,我们可以寻找一个比这个更简单的方法,这时候就需要用到module了
同样实现上面的功能,我们只需要把mode.js中的代码改为以下即可

   module.exports={a:12,b:5,c:3};  

再次执行1.js,我们会发现a,b,c三个值同样会被输出,这样代码比原来简单多了。

总结:

 自定义模块所需要用到的三个关键词:
     1.require    //引入一个自定义模块
     2. exports   //单独输出一个模块
     3.  module  //批量输出模块

你可能感兴趣的:(Node中的模块化之自定义模块)