javascript - 在 Sails JS 中使用下划线/lodash 作为模板引擎

标签 javascript node.js underscore.js sails.js lodash

我有一个单页 Web 应用程序,它在客户端使用主干,在服务器上使用 Node (Sails)。

我目前在客户端使用 lodash.underscore 作为模板引擎,在服务器端使用 kiwi。

我希望实现渐进增强的 pushstate。即客户端和服务器将共享相同的模板文件。

这意味着他们需要使用相同的模板引擎;我决定使用下划线/lodash。

在 Sails config\views.js 中,这意味着您可以使用下划线作为模板引擎。问题是我不知道该怎么做。我已将它包含在我的 package.json 中并设置

'engine': 'underscore'

然后我在启动我的应用程序时遇到错误 - “Function.app.engine 需要回调函数”

如果我将引擎设置为“kiwi”、“jade”、“ejs”等,它就会工作。

知道我做错了什么吗?

最佳答案

我不确定我是否完全理解您的要求,但是,我在我的服务器端 View 中使用了具有以下配置的下划线模板:

config/views 中,我将引擎设置为 ejs:

engine: 'ejs',

在我的 Gruntfile.js 中我设置了:

var templateFilesToInject = [
    'linker/**/*.ejs'
];

关于javascript - 在 Sails JS 中使用下划线/lodash 作为模板引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20655726/

相关文章:

javascript - 使用 lodash/underscore .map() 函数的原因是什么?

javascript - 如何在 JavaScript 中将数字的二进制表示形式从字符串转换为整数?

javascript - 使用 jQuery 切换大量页面项目很慢

javascript - Onclick 事件不适用于空闲游戏

javascript - 无法使用来自非 Mongoose 对象的 Mongoose 对象方法

javascript - promise prompt.js

javascript - 如何告诉express js使用webpack+react作为前端

node.js - 从 appharbor 构建运行 bower

javascript - 将对象字符串转换为对象元素

javascript - Underscore.js 为什么这是未定义的