【问题标题】:Nohm can't find Redis clientnom 找不到 Redis 客户端
【发布时间】:2018-01-01 18:27:29
【问题描述】:

我正在尝试在 Backbone.js 上关注 Tomas Davis 的 tutorial,但我无法让服务器运行。

他提供了一个启用了 CORS 的标准 node.js 服务器和一个 Redis 数据库。这是他的 GitHub 的链接:

--> https://github.com/thomasdavis/video-backbone-beginner-server

我还解决了另一个问题,所以你必须更换:

nohm.setClient(redis);

作者:

redis.on("connect", function() {
  nohm.setClient(redis);
  console.log("Nohm Connected to Redis Client");
})

修复后,Nohm 似乎可以连接到 Redis,但仍然无法正常工作。这是堆栈跟踪:

{ name: 'Nohm Error',
  message: 'Did not find a viable redis client in Nohm or the model: User' }

/node-projects/backbone/node_modules/nohm/lib/properties.js:27
  if (!this.properties[key]) {
                      ^
TypeError: Cannot read property 'firstname' of undefined
    at Nohm.property (/node-projects/backbone/node_modules/nohm/lib/properties.js:27:23)
    at Nohm.property (/node-projects/backbone/node_modules/nohm/lib/properties.js:22:23)
    at Object.<anonymous> (/node-projects/backbone/example_server.js:110:6)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.runMain (module.js:492:10)
    at process.startup.processNextTick.process._tickCallback (node.js:244:9)

Redis 服务器进程已启动。 有谁知道如何使服务器工作? 提前谢谢你!

【问题讨论】:

    标签: node.js backbone.js redis


    【解决方案1】:

    抱歉回复晚了,希望对你有所帮助。

    如果不知道 /node-projects/backbone/example_server.js:110 是什么,我无法 100% 确定这里的问题是什么。

    但我最好的猜测是,当您等待连接时,您正在尝试使用 nohm 执行其他操作。然后 Noh 在设置客户端之前尝试访问客户端。

    这会导致模型的 init 函数失败,从而无法正确初始化内部变量(以及其他属性)。

    您需要等待所有模型交互,直到建立 redis 连接。或者你恢复到旧的方法:

    nohm.setClient(redis);
    

    如果我没记错的话,这应该让 redis 命令排队,直到建立连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2023-02-04
      • 2020-07-07
      • 2013-03-22
      • 2018-07-20
      • 1970-01-01
      相关资源
      最近更新 更多