更改 Express 的代码包装器类型Node.js +埃杰斯

发布于 2024-12-13 17:50:23 字数 454 浏览 1 评论 0原文

在客户端 ejs 中,我使用 [% code %] 而不是 <% code %> 来标记 ejs 代码,但我想在服务器上执行相同的操作一边用快递。在客户端,我会执行类似 var template = new EJS({text: template_src, type:'['});

这是我的节点代码:

app.set('view engine', 'ejs');
app.register('.html', require('ejs'));

app.get('/', function(req, res){
    res.render('index.html', { title: 'My Site' });
});

Where do you set the "type" paramater所以我可以更改这个选项

In client side ejs I use [% code %] instead of <% code %> to mark ejs code, but I would like to do the same on the server side with express. On the client side I would do something like var template = new EJS({text: template_src, type:'['});

Here is my node code:

app.set('view engine', 'ejs');
app.register('.html', require('ejs'));

app.get('/', function(req, res){
    res.render('index.html', { title: 'My Site' });
});

Where do you set the "type" paramater so I can change this option

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

初心未许 2024-12-20 17:50:23

来自 EJS github 页面:

自定义标签也可以全局应用:

var ejs = require('ejs'); ejs.open = '{{'; ejs.close = '}}';

您唯一需要做的就是在 Express 应用程序的开头复制这些行,就是这样 - 更改全局应用(将打开和关闭标签更改为您想要的任何内容)。

截至 2016 年 7 月 20 日最新版本的更新

从 EJS 的最新版本开始,无法再使用自定义标签(请参阅 https://github.com/mde/ejs/issues/55 )。您所能做的就是将分隔符从默认的 % 更改为其他( delimiter 选项)。
目前正在讨论重新启用此功能。请参阅 https://github.com/mde/ejs/issues/88https://github.com/mde/ejs/issues/115

From the EJS github page:

Custom tags can also be applied globally:

var ejs = require('ejs'); ejs.open = '{{'; ejs.close = '}}';

The only thing you need to do it copy these lines at the beginning of your Express app and that's that - the change is applied globally (change the open and close tag to whatever you want).

Update for most recent version as of July 20, 2016

As of most recent versions of EJS, it is not possible to use custom tags anymore (see https://github.com/mde/ejs/issues/55 ). All you can do is change delimiters from default % to others ( delimiter option ).
There are talks about re-enabling this. See https://github.com/mde/ejs/issues/88 and https://github.com/mde/ejs/issues/115

翻身的咸鱼 2024-12-20 17:50:23

如果您使用快递:

app.set('view options', {
    open: '{{',
    close: '}}'
});

If you use express:

app.set('view options', {
    open: '{{',
    close: '}}'
});
段念尘 2024-12-20 17:50:23

ejs v2.* 使用不同的选项:

var ejs = require('ejs'),
users = ['geddy', 'neil', 'alex'];

// Just one template
ejs.render('<?= users.join(" | "); ?>', {users: users},
    {delimiter: '?'});
// => 'geddy | neil | alex'

// Or globally
ejs.delimiter = '

您无法替换 < 和 <代码>> 字符。

; ejs.render('<$= users.join(" | ");
gt;', {users: users});
// => 'geddy | neil | alex'

您无法替换 < 和 <代码>> 字符。

ejs v2.* use a different option:

var ejs = require('ejs'),
users = ['geddy', 'neil', 'alex'];

// Just one template
ejs.render('<?= users.join(" | "); ?>', {users: users},
    {delimiter: '?'});
// => 'geddy | neil | alex'

// Or globally
ejs.delimiter = '

You can't replace the < and > character.

; ejs.render('<$= users.join(" | ");
gt;', {users: users});
// => 'geddy | neil | alex'

You can't replace the < and > character.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文