Node 中的模块系统

2021-08-23  本文已影响0人  輪徊傷

使用 Node 编写应用程序主要是使用

什么是模块化

CommonJS 模块规范

Commonjs是前端模块化的一种规范,同步加载模块,主要使用于服务器端模块化开发,目前使用该规范的有nodejs
AMD:是由commonjs衍生出来的用在浏览器端的异步模块加载规范,实现该规范的技术有require.js
CMD:同步模块加载规范,实现该规范的技术有sea.js

在 Node 中的 JavaScript 还有一个很重要的概念,模块系统

导出 exports

exports.foo = "LBipanda"
exports.obj = {
  name: "LB",
  age: 15
}
var height = 175
exports.height = height

exports.add = function(x,y){
    return x + y
}

导出单个成员(拿到的导出值是:函数、字符串......)

module.exports = "heelo"

以这个为准,后者覆盖前者
module.exports =  function(x,y){
    return x + y
}

也可以这样来到出多个成员

module.exports = {
    add: function(x,y){
        return x + y
    },
    name: "LBipanda"
}

原理解析

exports 是 module.exports 的一个引用

console.log(exports === module.exports) // =>  true
exports.foo = 'bar'
等价于
module.exports.foo = 'bar'

加载 require

require 方法加载规则

var 自定义名称 = require("需要加载的模块名")

require 优先从缓存加载
所以这里不会重新加载,但是可以拿到其中的接口对象
这样做的目的是为了避免重复加载,提高加载效率(可以在 node => 03 => require加载规则 文件中查看)

上一篇 下一篇

猜你喜欢

热点阅读