KeystoneJS 错误无法在 openshift 上安装

KeystoneJS error cannot install on openshift

我第一次尝试 运行 keystone 使用这个 init js:

var keystone = require('keystone');

var db_name = 'www';

if(process.env.OPENSHIFT_MONGODB_DB_PASSWORD){
  connection_string = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" +
  process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" +
  process.env.OPENSHIFT_MONGODB_DB_HOST + ':' +
  process.env.OPENSHIFT_MONGODB_DB_PORT + '/' +
  process.env.OPENSHIFT_APP_NAME;
}

var mongoDbConnectionString =  process.env.OPENSHIFT_MONGODB_DB_URL ||
 'mongodb://admin:xxxx@127.0.0.1:27017/www';

var keystone = require('keystone');
keystone.init({

'name': 'tester',

'favicon': 'public/favicon.ico',

'views': 'templates/views',
'view engine': 'jade',

'auto update': true,
'mongo': connection_string,

'session': true,
'auth': true,
'user model': 'User',
'cookie secret': '(your secret here)'

});

require('./models');

keystone.set('routes', require('./routes'));

keystone.start();

我在 运行 文件时遇到此错误:

module.js:338
throw err;
^
Error: Cannot find module './models'
at Function.Module._resolveFilename (module.js:336:15)

at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (d:\Source\openshift-www\www\web.js:48:1)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3

Process finished with exit code 1

我可以使用 robo mongo 和上面的凭据正常登录我的 mongodb,谁能告诉我如何启动 Keystone 并 运行ning?

假设您的所有模型都在 ./models 文件夹中,您可以使用 require('./models'),但前提是您的 ./models/index.js 需要所有模型。

另一种方法是使用 Keystone 的 .import() 方法。下面是一个例子:

keystone.import('models');