简体   繁体   English

Kraken.js灰尘视图引擎

[英]Kraken.js dust view engine

I am using Kraken.js with Dust as the default view engine. 我使用带有灰尘的Kraken.js作为默认视图引擎。 I get this error: 我收到此错误:

No default engine was specified and no extension was provided. 没有指定默认引擎,也没有提供扩展名。 at new View (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/view.js:62:11) at EventEmitter.render (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/application.js:569:12) at ServerResponse.render (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/response.js:961:7) at /home/zhiro/Desktop/kraken/krakil/controllers/index.js:14:13 at Layer.handle [as handle_request] (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/layer.js:95:5) at next (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/route.js:131:13) at Route.dispatch (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/route.js:112:3) at Layer.handle [as handle_request] (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/layer.js:95:5) at /home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/index.js:277:22 at Function.process_params (/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/index.js:330:12) 在EventEmitter.render(/ home / zhiro / Desktop / kraken / krakil / node_modules / express / lib)的新视图(/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/view.js:62:11) /Server.Response.render(/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/response.js:961:7)处的/application.js:569:12)/ home / zhiro / Desktop / kraken / krakil /controllers/index.js:14:13在Layer.handle [作为handle_request](/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/layer.js:95:5)在下一个(/ Home / zhiro / Desktop / kraken / krakil / node_modules / express / lib / router / route.js:131:13)在Route.dispatch(/ home / zhiro / Desktop / kraken / krakil / node_modules / express / lib / router / route.js:112:3)在/ home / zhiro / [作为handle_request](/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/layer.js:95:5)桌面/kraken/krakil/node_modules/express/lib/router/index.js:277:22 at Function.process_params(/home/zhiro/Desktop/kraken/krakil/node_modules/express/lib/router/index.js:330 :12)

I see this error when I call res.render . 致电res.render时看到此错误。

'use strict';

var IndexModel = require('../models/index');

module.exports = function (router) {
    var model = new IndexModel();
    router.get('/', function (req, res) {
        res.render('index');
    });
};

By default, Kraken doesn't configure a default view engine. 默认情况下,Kraken不配置默认视图引擎。 The view engine tells Express how it should attempt to render files if it doesn't have a renderer explicitly defined for that file extension. 视图引擎告诉Express如果没有为该文件扩展名明确定义渲染器,则应如何尝试渲染文件。

When you configure a new project using yo kraken , one of the questions it asks is what you would like your default view engine to be, but it sounds like you chose None on that step. 当您使用yo kraken配置新项目时,它会问的一个问题是您希望默认的视图引擎是什么,但是听起来您在该步骤中选择了None

To set the default view engine, you simply pass it as part of the config object when instantiating Kraken. 要设置默认视图引擎,只需在实例化Kraken时将其作为配置对象的一部分传递即可。 You can read about this in the Kraken README, under the heading Configuration-Based Express Settings : 您可以在Kraken自述文件的基于配置的快速设置标题下阅读有关此信息:

Set the view engine property to the one of the view engines property names (see the section View Engine Configuration ) to enable it for template rendering. 将视图引擎属性设置为视图引擎属性名称之一(请参阅“ 视图引擎配置 ”部分),以使其能够进行模板渲染。

{
  "express": {
    [...]
    "view engine": null, // set this to "dust"
    [...]
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM