模块化

模块化

  • 文件作用域
  • 通信规则

      加载
      导出
    
模块分类 (模块标识)
 1、核心模块
        核心模块文件已经编译到了二进制文件中,只需要按照名字使用

     require(‘fs’)
 

2、第三方模块
        必须通过npm下载,使用时可以通过require('包名')进行加载
            原理:
                先找到当前文件所处目录中的node_modules
                node_modules/art-template
                node_modules/art-template/package.json
                node_modules/art-template/package.json 文件中的main属性
                main属性记录了art-template入口模块
                然后加载使用第三方包
              

     如果package不存在或main中没有指定入口模块
                自动找该目录下index.js
                
                如果以上所有任何一个条件都不成立,则会进入上一级目录找node_modules
                依此类推,直到磁盘根目录,如果都找不到,报错 can not find module xxx
        
 3、用户模块
        导入需要相对路径 ./    ./当前目录   ../ 上一级目录
        后缀名可以省略


 node中没有全局作用域,只有模块作用域(文件作用域)

模块查找机制:
    优先从缓存加载
    核心模块
    路径形式的模块
    第三方模块


原文地址:https://www.cnblogs.com/huangyuanning/p/11816176.html