У меня возникли проблемы с запуском моего приложения под окнами. Обычно я разрабатываю Macbook, но временно я должен был переключиться. Дело в том, что приложение уже работало над окнами без проблем. Вот сообщение об ошибке:SailsJs - проблемы с подъемом (крюк orm не загружен)
error: A hook (
orm
) failed to load! verbose: Lowering sails... verbose: Sent kill signal to child process (8684)... verbose: Shutting down HTTP server... verbose: HTTP server shut down successfully. error: TypeError: Cannot read property 'config' of undefined at validateModelDef (C:\projects\elearning-builder\node_modules\sails\node_modules\sails-hook-orm\lib \validate-model-def.js:109:84) at C:\projects\elearning-builder\node_modules\sails\node_modules\sails-hook-orm\lib\initialize.js:218 :36 at arrayEach (C:\projects\elearning-builder\node_modules\sails\node_modules\lodash\index.js:1289:13) at Function. (C:\projects\elearning-builder\node_modules\sails\node_modules\lodash\index.j s:3345:13) at Array.async.auto._normalizeModelDefs (C:\projects\elearning-builder\node_modules\sails\node_module s\sails-hook-orm\lib\initialize.js:216:11) at listener (C:\projects\elearning-builder\node_modules\sails\node_modules\sails-hook-orm\node_module s\async\lib\async.js:605:42) at C:\projects\elearning-builder\node_modules\sails\node_modules\sails-hook-orm\node_modules\async\li b\async.js:544:17 at _arrayEach (C:\projects\elearning-builder\node_modules\sails\node_modules\sails-hook-orm\node_modu les\async\lib\async.js:85:13) at Immediate.taskComplete (C:\projects\elearning-builder\node_modules\sails\node_modules\sails-hook-o rm\node_modules\async\lib\async.js:543:13) at processImmediate [as _immediateCallback] (timers.js:383:17) PS C:\projects\elearning-builder>
Я попытался проверить это, что именно происходит в \node_modules\sails\node_modules\sails-hook-orm\lib\validate-model-def.js:109:84
поэтому я добавил простой console.log temporarly:
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
.
Но дело в том, у меня есть связи в моей конфигурации/connections.js
Как здесь:
development: {
module : 'sails-mysql',
host : 'localhost',
port : 3306,
user : 'ebuilder',
password : 'ebuilder',
database : 'ebuilder'
},
production: {
/* details hidden ;) */
},
testing: {
/* details hidden ;) */
}
Любые предложения/советы высоко оценены.
Проверьте все определения моделей – vkstack
Проблем нет. Все выглядит нормально. – DeJoT