JS exports的用法

Node.js 模块的导出

在 Node.js 中,每个文件都被视为一个模块,模块内部的变量和函数默认都是私有的,而需要被其他模块调用的变量和函数则需要用 exports 或 module.exports 进行导出。

exports 是 module.exports 的一个引用,即 exports = module.exports,因此它们的作用相同。使用 exports 可以向外部模块暴露变量、函数和对象等。

示例:

// person.js
var name = 'Tom';
var age = 18;

exports.getName = function() {
    
    
    return name;
}

exports.getAge = function() {
    
    
    return age;
}

在这个例子中,通过 exports 对象向外部模块暴露了 getName 和 getAge 两个函数。其他模块可以通过 require 方法引入该模块,然后使用 getName 和 getAge 方法来获取 name 和 age 的值。

// main.js
var person = require('./person');

console.log(person.getName()); // 'Tom'
console.log(person.getAge());  // 18

需要注意的是,当使用 exports 导出一个对象时,不能使用 exports = {} 的方式重新赋值,否则将会断开 exports 和 module.exports 的关联,导致无法正确导出模块。正确的方式是直接向 exports 对象添加属性和方法。

示例:

// person.js
exports.obj = {
    
    
    name: 'Tom',
    age: 18
}

exports.sayHello = function() {
    
    
    console.log('Hello');
}

在这个例子中,通过 exports 对象向外部模块暴露了一个对象和一个函数。其他模块可以通过 require 方法引入该模块,然后使用 obj 对象和 sayHello 方法来访问该模块导出的内容。

// main.js
var person = require('./person');

console.log([person.obj.name](<http://person.obj.name/>));    // 'Tom'
console.log(person.obj.age);     // 18
person.sayHello();               // 'Hello'

总之,exports 是 Node.js 中用于导出变量、函数和对象等的对象,它可以让模块内部的私有变量和函数暴露给其他模块使用,从而实现模块化的开发。

猜你喜欢

转载自blog.csdn.net/qq_69218005/article/details/129974701