我在使用 Nodejitsu 时遇到问题。我的应用程序在本地部署时运行完美,但我最近被介绍到 nodejitsu 并且我已经上传了我的应用程序、数据库和所有内容。但是,当我尝试部署我的应用程序时,我不断收到“内部服务器错误”。当我查看日志时,它告诉我:
Error: No default engine was specified and no extension was provided.
我在 package.json 和负责控制应用程序的 app.js 文件中指定了查看引擎。
app.configure('development', function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.static(__dirname + '/public'));
app.use(express.logger('dev'));
app.use(express.bodyParser({uploadDir: './uploads' }));
app.use(express.cookieParser());
app.use(express.session({secret: 'mySecret', cookie: {maxAge: 25920000000}}));
app.use(express.errorHandler());
app.use(passport.initialize());
app.use(passport.session());
app.use(app.router);
});
package.json 是
"engines": {
"node": "0.10.x",
"jade": "0.31.0"
}
如您所见,我显然正在设置视图引擎,但我不明白为什么会出现该错误。我还扫描了 lib/views.js 文件以查找引发错误的行
if (!ext && !this.defaultEngine) throw new Error('No default engine was specified and no extension was provided.');
当您想到为什么会抛出错误时,这是有道理的;但是,当我确定我指定了查看引擎时,就会变得混乱。