node.js [模块化]

90 阅读1分钟

一. 模块化

<1> What is 模块化?

把一个复杂的程序依据一定的规则拆分成多个文件的过程称之为模块化。其中拆分出来的每个文件就是一个模块,模块内部的数据是私有的,但是模块向外暴露的数据可供其他模块使用。

<2> 模块化的好处:
  • 防止命名冲突
  • 复用性高
  • 可维护性高

二. 模块数据的向外暴露

module.exports = xxx

module.exports = 521
module.exports = 'yhx'

可以暴露任何类型的数据!!!

  • 不能使用 exports = xxx 进行暴露

    • 因为模块导入外部数据时,require()方法的返回值是目标路径模块的 module.exports的值

三. 导入模块

const xx = require('./xxx')

一些注意事项:

  • 对于自己创建的模块,导入时建议写绝对路径!!
  • jsjson文件导入时可以不用写后缀
  • 如果导入其他类型的文件,会按照 js类型的文件进行处理

如果导入的是一个文件夹:

  • 首先会在该文件夹下检测 package.json文件中 main属性对应的文件;如果main属性不存在,或者package.json文件不存在,则会检测文件夹下的index.js and index.json文件;如果还是不存在,就报错!!!