SailsJs-提升问题(orm吊钩无法装载)

SailsJs-提升问题(orm吊钩无法装载),orm,sails.js,hook,Orm,Sails.js,Hook,我在windows下运行应用程序时遇到问题。正常情况下,我是在Macbook上开发的,但暂时我不得不切换。问题是,该应用程序已经在windows上正常运行了。以下是一条错误消息: 错误:无法加载挂钩(orm)! 冗长:放下帆。。。 详细:已将终止信号发送到子进程(8684)。。。 详细:正在关闭HTTP服务器。。。 详细:HTTP服务器已成功关闭。 错误:TypeError:无法读取未定义的属性“config” 在validateModelDef(C:\projects\elearning bu

我在windows下运行应用程序时遇到问题。正常情况下,我是在Macbook上开发的,但暂时我不得不切换。问题是,该应用程序已经在windows上正常运行了。以下是一条错误消息:

错误:无法加载挂钩(
orm
)! 冗长:放下帆。。。 详细:已将终止信号发送到子进程(8684)。。。 详细:正在关闭HTTP服务器。。。 详细:HTTP服务器已成功关闭。 错误:TypeError:无法读取未定义的属性“config” 在validateModelDef(C:\projects\elearning builder\node\u modules\sails\node\u modules\sails hook orm\lib \验证模型定义(js:109:84) 在C:\projects\elearning builder\node\u modules\sails\node\u modules\sails hook orm\lib\initialize.js:218 :36 在ArrayAch(C:\projects\elearning builder\node\u modules\sails\node\u modules\lodash\index.js:1289:13) 在功能上。(C:\projects\elearning builder\node\u modules\sails\node\u modules\lodash\index.j s:3345:13) 位于Array.async.auto.\u normalizeModelDefs(C:\projects\elearning builder\node\u modules\sails\node\u module s\sails hook orm\lib\initialize.js:216:11) 在侦听器(C:\projects\elearning builder\node\u modules\sails\node\u modules\sails hook orm\node\u module s\async\lib\async.js:605:42) 在C:\projects\elearning builder\node\u modules\sails\node\u modules\sails hook orm\node\u modules\async\li b\async.js:544:17 在ArrayAch(C:\projects\elearning builder\node\u modules\sails\node\u modules\sails hook orm\node\u modu les\async\lib\async.js:85:13) 在Immediate.taskComplete(C:\projects\elearning builder\node\u modules\sails\node\u modules\sails-hook-o rm\node\u modules\async\lib\async.js:543:13) 在processImmediate[as_immediateCallback](timers.js:383:17) PS C:\projects\elearning builder>

我试着检查一下,
\node\u modules\sails\node\u modules\sails hook orm\lib\validate model def.js:109:84
所以我临时添加了simple console.log:

  console.log("error in line below", hook);
  var normalizedDatastoreConfig = hook.datastores[normalizedModelDef.connection[0]].config;
因此,我看到:

error in line below Hook {
  load: [Function: wrapper],
  defaults:
   { globals: { adapters: true, models: true },
     orm: { skipProductionWarnings: false, moduleDefinitions: [Object] },
     models: { connection: 'localDiskDb' },
     connections: { localDiskDb: [Object] } },
  configure: [Function: wrapper],
  loadModules: [Function: wrapper],
  initialize: [Function: wrapper],
  config: { envs: [] },
  middleware: {},
  routes: { before: {}, after: {} },
  reload: [Function: wrapper],
  teardown: [Function: wrapper],
  identity: 'orm',
  configKey: 'orm',
  models:
   { /* models here, I removed this as it was too long /*},
  adapters: {},
  datastores: {} }
因此,
normalizedModelDef.connection[0]
具有
development
的价值。但是hook.datastores是空的吗?这就是为什么没有
config
属性的原因

但问题是,我的config/connections.js中确实有连接

development: {
        module    : 'sails-mysql',
        host      : 'localhost',
        port      : 3306,
        user      : 'ebuilder',
        password  : 'ebuilder',
        database  : 'ebuilder'
    },
就像这里:

development: {
        module    : 'sails-mysql',
        host      : 'localhost',
        port      : 3306,
        user      : 'ebuilder',
        password  : 'ebuilder',
        database  : 'ebuilder'
    },
    production: {
        /* details hidden ;) */
    },
    testing: {
        /* details hidden ;) */
    }

非常感谢您的建议/提示。

检查您的控制器或型号是否包含任何错误代码。就像任何符号一样。当我的控制器在api启动之前或之后包含任何字符时,我面临同样的问题

您定义了一些连接,但是您是否定义了可能在config/models.js中指定的默认连接?例如,如果您有:

    module.exports.models = {
      connection: 'mysql',
      ...

然后需要在connections.js中定义“mysql”,正如我在config/connections.js中看到的那样

development: {
        module    : 'sails-mysql',
        host      : 'localhost',
        port      : 3306,
        user      : 'ebuilder',
        password  : 'ebuilder',
        database  : 'ebuilder'
    },
您给出的
模块:'sails mysql
不正确。它应该是
适配器:'sails-mysql'

development: {
        adapter   : 'sails-mysql',
        host      : 'localhost',
        port      : 3306,
        user      : 'ebuilder',
        password  : 'ebuilder',
        database  : 'ebuilder'
    },

检查所有型号的定义,没有问题。一切似乎都很好。