我正在使用changeset
。我正在连接到mysql数据库。我可以连接到MySQL Workbench上的数据库,因此数据库正在运行。当我尝试"sails": "~0.12.1"
时,我收到此错误:
sails lift
更新:config / connections.js
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
配置/ models.js
module.exports.connections = {
mysql: {
adapter: 'sails-mysql',
host: 'localhost',
user: 'root',
password: 'root',
database: 'quizzlydb'
}
};
的package.json
module.exports.models = {
connection: 'mysql',
migrate: 'alter'
};
答案 0 :(得分:9)
我在我的一个模特中错过了一个逗号。唷!我以为我会在那里疯狂一秒。
答案 1 :(得分:0)
您可以在config/env/development.js
或config/env/test.js
或config/env/production.js
文件中定义这些连接
这样他们只会为正确的环境启动池。
答案 2 :(得分:0)
我只是学习编码并开始使用Sails。如果我的答案不是最好的,请原谅我。切换到MySQL时我也遇到了问题,但后来发现我应该安装了MySQL适配器。之后它运作良好。
https://www.npmjs.com/package/sails-mysql
您还应该将您的连接详细信息放在/config/local.js中(示例代码在/config/connections.js中给出,您可以在那里放置您的连接详细信息但是如果您使用git或类似的东西您希望使用local.js,因为该文件未上传,因此您的凭据不会发布给广大受众。)
答案 3 :(得分:0)
我在使用sails 0.12 版和nodejs 14 版时遇到了同样的问题。尝试安装nodejs 12.19.1 版。没有解决方案有帮助,但确实有帮助。