我使用带把手的风帆0.10.5。
我希望我的所有句柄模板都使用扩展程序.hbs
而不是.handlebars
。我在sails文档中读到,您可以在extension
中设置config/views
属性,以更改渲染视图时sails将查找的文件扩展名。
http://sailsjs.org/#!/documentation/reference/sails.config/sails.config.views.html
我已经设置了我想要使用的扩展程序,但是当风帆渲染视图时它没有被使用。这是我在进入索引路径时在浏览器中获得的内容。
{
"message": "Could not render view \"index\". Tried locating view file @ \"/Users/jeff/Sites/bcsm/views/index\".",
"code": "E_VIEW_FAILED",
"status": 500,
"view": {
"name": "index",
"root": "/Users/jeff/Sites/bcsm/views",
"defaultEngine": "handlebars",
"ext": ".handlebars"
}
}
这是我的配置:
module.exports.views = {
engine: 'handlebars',
layout: false,
ext: '.hbs'
};
我也试过以下但没有运气:
extension: 'hbs'
extension: '.hbs'
ext: 'hbs'
之前有没有人解决过这个问题,或者有任何想法?
答案 0 :(得分:4)
哎呀,看起来这个文档有点偏僻。谢谢你指出来。
要使用自定义文件扩展名,您需要在engine
属性中指定自定义视图引擎。要为Handlebars执行此操作,请执行以下操作:
npm install handlebars
npm install consolidate
并在config/views.js
中执行:
engine: {
ext: 'hbs',
fn: require("consolidate").handlebars
}