javascript - 将参数传递给基于类的 Node 模块

标签 javascript node.js

我有这个 Node.js 模块结构:

class Foo {

  log() {
    console.log(this.bar); // should log 'hello'
  }
}

module.exports = new Foo;

我如何“要求”上述内容并传递“bar”作为参数?

例如:

var Foo = require("./foo.js")("hello");
<小时/>

我对如何使用基于类的模块执行此操作特别感兴趣。

<小时/>

更新:基于类的单例是一个坏主意™。我已改用对象文字模块结构。

最佳答案

您正在混合类和模块定义。您不导出实例。您导出一个定义,并在导入后实例化该定义。然后你必须调用一个函数

如果您使用的是 ECMA2015 类,那么您可以编写:

export default class Foo {
  constructor(bar) {
    this._bar = bar; 
  }

  log() {
    console.log(this._bar);
  }
}

那么你的调用代码应该如下所示:

import Foo from './foo.js';
let foo = new Foo('Boom!'); 
foo.log();

import 关键字的用法类似于 ES5 中的 require。

关于javascript - 将参数传递给基于类的 Node 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36370739/

相关文章:

node.js - 如何解决构建 Angular 应用程序时发生的此错误?

node.js - 使用 VS Code + Mocha 进行调试并在 'read-only inlined content from source map' 文件处停止断点

node.js - 使用 mathjax 和 node.js 在网络浏览器中显示 latex 数学方程

javascript - 基于另一个数组的过滤数组

javascript - 解析云代码如何与解析服务器一起工作?

javascript - 具有基于 View 的数据绑定(bind)上下文的模块化 Web 组件

node.js - 返回 POST 请求响应后运行方法

mysql - 从 js 运行时插入错误,xampp shell 使用相同的 sql 工作正常

javascript - 执行函数查看 JSON 文件是否包含特定字符串

javascript - 根据文本框中重新排列的无序列表获取值