模块化规范
wǎng luò shí huāng 2021-06-10
模块化
主要是介绍了模块化规范
# 模块化规范
- 代码参考:https://gitee.com/wangluoshihuang/zhufeng202103node/blob/master/3.node-core/1.js#L112
- node 模块规范:
- global 上有属性直接访问的叫全局属性,require exports module 也可以直接访问 但他们不在 global 上。node 里每个文件都是一个模块, 模块化的实现借助的是 函数,函数中有参数 参数里面有 五个属性 **dirname **filename require exports module,所以我们可以在 node 模块里直接使用这个 5 个属性,但是这 5 个属性直接使用 global.xxx 访问不到。
- commonjs、esmodule 区别:
- 除了上面笔记里的。还有 commonjs 在导入的时候会运行代码,所以支持动态导入。但是 esmodule 语法在导入的时候,只是编译了一下代码,代码并没有运行,所以不支持动态导入。
- node 和 esmodule 是如何解析模块的:
- 参考 这里 的 【模块解析策略】。
- 如何在现在浏览器上使用 esMoudle: