“错误:未指定默认引擎” - 仅发送json

时间:2016-08-29 05:53:35

标签: angularjs node.js express

我一直收到这个错误,我不明白为什么。我没有在任何地方运行res.render,并且我没有指定视图引擎(不需要),我正在使用Angular从前端执行所有路由。

这里我正在为登录用户提出一个简单的请求:

controller.js

angular.module('myApp').controller('adminController',
  ['$scope', '$http',
  function ($scope, $http) {
    $http.get('/api/user')
      .then(function(response){
        $scope.user = response.data;
      });
}]);

在后端,这是只返回json的路径:

api.js

router.get('/api/user', function(req, res) {
    var session = req.session;
    var user = db.User.findById(session.passport.user, function(err, user){
        console.log(user);
        res.json(user);
    });
});

在我的浏览器控制台中,我收到错误消息 Cannot GET http://localhost:3000/api/user 500 (Internal Server Error),我的CLI正在说No default engine was specified and no extension was provided.

为什么,如果我只返回json,是表示要求查看引擎?

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式设置视图引擎:

app.set('view engine', 'html'); 

app.set('view engine', 'ejs');