执行升帆时 orm 加载失败
orm Failed To Load When Doing sails lift
我正在使用 "sails": "~0.12.1"
。我正在连接到 mysql 数据库。我可以连接到 MySQL Workbench 上的数据库,因此数据库可以正常工作。当我尝试 sails lift
时出现此错误:
info: Starting app...
error: A hook (`orm`) failed to load!
error: SyntaxError: Unexpected identifier
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:414:25)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at /node_modules/include-all/index.js:129:29
at Array.forEach (native)
at requireAll (/node_modules/include-all/index.js:44:9)
at buildDictionary (/node_modules/sails/node_modules/sails-build-dictionary/index.js:68:14)
at Function.module.exports.optional (/node_modules/sails/node_modules/sails-build-dictionary/index.js:160:9)
at Hook.loadModels (/node_modules/sails/lib/hooks/moduleloader/index.js:344:23)
at Hook.wrapper [as loadModels] (/node_modules/sails/node_modules/lodash/index.js:3095:19)
at Array.async.auto.models (/node_modules/sails/lib/hooks/orm/load-user-modules.js:20:23)
at /node_modules/sails/node_modules/async/lib/async.js:591:38
更新:config/connections.js
module.exports.connections = {
mysql: {
adapter: 'sails-mysql',
host: 'localhost',
user: 'root',
password: 'root',
database: 'quizzlydb'
}
};
config/models.js
module.exports.models = {
connection: 'mysql',
migrate: 'alter'
};
package.json
...
"sails": "~0.12.1",
"sails-disk": "~0.10.9",
"sails-memory": "^0.10.6",
"sails-mysql": "^0.11.5",
"waterline": "^0.11.0",
...
您可以在 config/env/development.js
或 config/env/test.js
或 config/env/production.js
文件中定义这些连接
这样他们只会为正确的环境启动池。
我刚刚开始学习编码并开始使用 Sails。如果我的回答不是最好的,请原谅我。我在切换到 MySQL 时也遇到了问题,但后来我发现我应该安装 MySQL 适配器。之后一切正常。
https://www.npmjs.com/package/sails-mysql
并且您还应该将连接详细信息放在 /config/local.js 中(示例代码在 /config/connections.js 中给出,您可以将连接详细信息放在那里但是如果您使用 git 或您希望使用的类似文件 local.js,因为该文件未上传,因此您的凭据不会发布给广大受众。)
我的一个模型中缺少一个逗号。呸!我以为我在那儿要疯了。
我在 sails 0.12 版和 nodejs 14 版上遇到了同样的问题。尝试安装 nodejs 12.19.1 版。没有解决方案有帮助,但确实有帮助。
我正在使用 "sails": "~0.12.1"
。我正在连接到 mysql 数据库。我可以连接到 MySQL Workbench 上的数据库,因此数据库可以正常工作。当我尝试 sails lift
时出现此错误:
info: Starting app...
error: A hook (`orm`) failed to load!
error: SyntaxError: Unexpected identifier
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:414:25)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at /node_modules/include-all/index.js:129:29
at Array.forEach (native)
at requireAll (/node_modules/include-all/index.js:44:9)
at buildDictionary (/node_modules/sails/node_modules/sails-build-dictionary/index.js:68:14)
at Function.module.exports.optional (/node_modules/sails/node_modules/sails-build-dictionary/index.js:160:9)
at Hook.loadModels (/node_modules/sails/lib/hooks/moduleloader/index.js:344:23)
at Hook.wrapper [as loadModels] (/node_modules/sails/node_modules/lodash/index.js:3095:19)
at Array.async.auto.models (/node_modules/sails/lib/hooks/orm/load-user-modules.js:20:23)
at /node_modules/sails/node_modules/async/lib/async.js:591:38
更新:config/connections.js
module.exports.connections = {
mysql: {
adapter: 'sails-mysql',
host: 'localhost',
user: 'root',
password: 'root',
database: 'quizzlydb'
}
};
config/models.js
module.exports.models = {
connection: 'mysql',
migrate: 'alter'
};
package.json
...
"sails": "~0.12.1",
"sails-disk": "~0.10.9",
"sails-memory": "^0.10.6",
"sails-mysql": "^0.11.5",
"waterline": "^0.11.0",
...
您可以在 config/env/development.js
或 config/env/test.js
或 config/env/production.js
文件中定义这些连接
这样他们只会为正确的环境启动池。
我刚刚开始学习编码并开始使用 Sails。如果我的回答不是最好的,请原谅我。我在切换到 MySQL 时也遇到了问题,但后来我发现我应该安装 MySQL 适配器。之后一切正常。
https://www.npmjs.com/package/sails-mysql
并且您还应该将连接详细信息放在 /config/local.js 中(示例代码在 /config/connections.js 中给出,您可以将连接详细信息放在那里但是如果您使用 git 或您希望使用的类似文件 local.js,因为该文件未上传,因此您的凭据不会发布给广大受众。)
我的一个模型中缺少一个逗号。呸!我以为我在那儿要疯了。
我在 sails 0.12 版和 nodejs 14 版上遇到了同样的问题。尝试安装 nodejs 12.19.1 版。没有解决方案有帮助,但确实有帮助。