我正在尝试使用此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启动并运行?
答案 0 :(得分:1)
假设您拥有./models
文件夹中的所有模型,则可以使用require('./models')
,但前提是./models/index.js
需要所有模型。
另一种方法是使用Keystone的.import()
方法。以下是一个例子:
keystone.import('models');