【问题标题】:Node -- node TypeError: options must be an objectNode -- node TypeError: options must be an object
【发布时间】:2016-10-16 13:34:03
【问题描述】:

我收到了错误 TypeError: options must be an object。我正在阅读 Node.js 设计模式的第 4 章和 State 示例。

起初我以为这是我的错字,但后来我尝试使用本书的代码运行该文件并得到同样的错误。

var jot = require('json-over-tcp');
var server = jot.createServer(5000);

server.on('connection', function(socket) {
  socket.on('data', function(data){
     console.log('Client data', data);
  });
});

server.listen(5000, function() {console.log('Started')});

我查看了 NPM 上的 json-over-tcp 示例,但看不出我做错了什么。

【问题讨论】:

  • 您是否尝试删除listen 的回调,如server.listen(5000); 中的那样
  • 是的,结果相同。

标签: javascript node.js


【解决方案1】:

好的,所以我在 Github 上找到了 json-over-tcp(在 NPM 网站上链接的那个不再存在)并发现了问题。我得到的错误来自 json-over-tcp 中的 server.js 文件。

如果我将代码的第二行更改为:

var server = jot.createServer({}, 5000);

它工作正常——只需要存在选项。我猜书里的代码漏掉了。

【讨论】:

  • 是的,为了将来的参考,大多数优秀的库都会规范化参数,使得选项对象实际上是可选的。所以我猜这些小伙子只是懒惰。
猜你喜欢
  • 2013-09-24
  • 1970-01-01
  • 2017-08-14
  • 2013-07-25
  • 2018-03-31
  • 1970-01-01
  • 2014-11-16
  • 2020-11-02
  • 2023-03-20
相关资源
最近更新 更多