【问题标题】:orm Failed To Load When Doing sails liftorm在做帆升时加载失败
【发布时间】:2016-07-04 20:42:06
【问题描述】:

我正在使用"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",
...

【问题讨论】:

  • 您的连接或模型配置或您的模型定义之一中可能存在语法错误
  • 你是对的!我的一个模型中缺少逗号。谢谢!
  • 这就是为什么你总是运行 linting 测试:P

标签: node.js sails.js node-modules


【解决方案1】:

我在sails 0.12版和nodejs 14版上遇到了同样的问题。尝试安装nodejs 12.19.1版。没有解决方案有帮助,但确实有帮助。

【讨论】:

    【解决方案2】:

    我的一个模型中缺少逗号。呸!我以为我在那里疯了一秒钟。

    【讨论】:

      【解决方案3】:

      您可以在 config/env/development.js 或 config/env/test.js 或 config/env/production.js 文件中定义这些连接 以便他们只为正确的环境启动池。

      【讨论】:

        【解决方案4】:

        我刚刚学习编码并开始使用 Sails。如果我的答案不是最好的,请原谅我。我在切换到 MySQL 时也遇到了问题,但后来我发现我应该安装 MySQL 适配器。之后它工作正常。

        https://www.npmjs.com/package/sails-mysql

        您还应该将连接详细信息放在 /config/local.js 中(示例代码在 /config/connections.js 中给出,您可以将连接详细信息放在那里,但如果您使用 git 或类似的东西希望使用 local.js,因为该文件未上传,因此您的凭据不会发布给广大受众。)

        【讨论】:

          猜你喜欢
          • 2018-09-05
          • 2014-10-10
          • 1970-01-01
          • 1970-01-01
          • 2016-07-25
          • 2018-12-12
          • 2017-07-24
          • 2010-11-28
          • 2011-02-17
          相关资源
          最近更新 更多