javascript - Node 模块提供 getter 和 setter

标签 javascript node.js require

我有以下代码,运行正常。 现在我需要添加额外的属性和函数并导出它们, 建议如何做? 假设我有两个函数和两个附加属性需要导出。

属性如 已验证 Prop 1

var internal = require("../plu/internal");
module.exports = {isAvailable: false};

internal.eventEmitter.on('AppA', function () {
    module.exports.isAvailable = true;
});

最佳答案

在对象上定义 setter 和 getter 方法的标准方法是在 internal 模块中使用 Object.defineProperty 方法。通过导出 internal 模块,您还将导出 settergetter 方法。

Object.defineProperty(Internal.prototype, "isAvailable", {
    get : function(){
        return this.available;
    },
    set : function(value){
        this.available = value;
    }
});

或者在 ES6 中你可以编写相同的内容:

get isAvailable() {
    return this.available;
}

set isAvailable(value) {
    this.available = value;
}

通过 Internal.prototype,您可以使用 setter 和 getter 方法扩展基础对象原型(prototype)。

关于javascript - Node 模块提供 getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34877561/

相关文章:

require - `require` 在某些地方不起作用的原因可能是什么?

node.js - 导出类并在导入时立即实例化

javascript - 从哈希数组中过滤重复的哈希 - Javascript

javascript - 使用 jquery 更改选项卡标题?

php - 我必须为每张图片创建一个缩略图文件吗?

Javascript 文件仅在 Google Chrome 中运行

node.js - ejs async true 与 node Express

node.js - Nodejs 每天午夜零一分钟创建一个 cron 任务

javascript - 类型错误 : Cannot read property 'reduce' of undefined when using ftp-deploy

ruby - 在 Ruby 中使用 require 的最佳实践是什么?