KeystoneJS错误无法在openshift上安装

时间:2015-06-26 13:31:42

标签: javascript mongodb openshift keystonejs

我正在尝试使用此init js第一次运行keystone:

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启动并运行?

1 个答案:

答案 0 :(得分:1)

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

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

keystone.import('models');