模块化

Posted huangyuanning

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块化相关的知识,希望对你有一定的参考价值。

模块化

  • 文件作用域
  • 通信规则

      加载
      导出
    
模块分类 (模块标识)
 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中没有全局作用域,只有模块作用域(文件作用域)

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


以上是关于模块化的主要内容,如果未能解决你的问题,请参考以下文章

编程思想-模块化-产品模块化设计:产品模块化设计

ES6的模块化

如何在C语言中实现模块化

TS模块化

ES6 模块化

[模块化]产品模块化设计