【发布时间】:2014-10-10 19:05:21
【问题描述】:
我正在尝试找到一种方法让我的过滤器在两边都有效。
这是我在节点上的代码:
var env = nunjucks.configure(__dirname + '/../templates', {
express: app
});
env.addFilter('date', function(str){
return 'ok';
});
在浏览器端:
var env = new nunjucks.Environment();
env.addFilter('date', function(str){
return 'ok';
});
我想将我的过滤器放在可以在这两种不同环境中使用的地方,但我没有找到解决方案。
在客户端,我使用的是 nunjucks-slim 版本。我的模板是使用 gulp 预编译的。
感谢您的帮助!
【问题讨论】:
-
移动“env.addFilter(..);”代码到单独的文件和
require(包括,粘贴,..)它两次? -
感谢您的回答@xmojmr。在节点方面,我是否需要一个文件向其传递参数(在我的情况下为 env)?在浏览器中,我应该使用 Browserify 之类的东西吗?
-
是的,这样的事情可能是要走的路。你可以尝试谷歌搜索“site:stackoverflow.com browser side require”来找到相关的 Stack Overflow 文章(我最喜欢的是这篇 stackoverflow.com/questions/5168451/…)。我不知道
nunjucks-slim和gulp能做什么,但你基本上只需要在构建期间将相同的代码sn-p 两次“粘贴”或“包含”到不同的源代码中
标签: javascript filter nunjucks