node.js - 使用 EJS 添加部分模板时的空格

标签 node.js dom express sails.js ejs

我正在使用带有 EJS 引擎的 SailsJS。

当我在布局文件中使用 <% includepartials/template.ejs %><%partial('partials/template.ejs') 添加部分时,我在编译的 HTML 代码 (template.ejs) 之前发现了空格。

请注意,当我将 template.ejs 内容复制粘贴到布局中(不使用 include/partials)时,空格消失了。

参见下面的图片:

第一部分:代码。

第二部分: chrome DOM。

第三部分:空白元素检查(DOM 属性)

1st part: code. 2nd part: chrome DOM. 3rd part: whitespace element inspection (DOM properties)

最佳答案

我也遇到过同样的问题。 我所做的很简单。

转到 ejs 模块index.js 文件。 求偏函数。 找到这部分代码:

var source = options.cache
? cache[key] || (cache[key] = fs.readFileSync(file, 'utf8'))
: fs.readFileSync(file, 'utf8'); 

并将其替换为

var source = options.cache
? cache[key] || (cache[key] = fs.readFileSync(file, 'utf8').trim())
: fs.readFileSync(file, 'utf8').trim();

所以,我所做的只是使用trim() java脚本函数。

希望对您有所帮助。

关于node.js - 使用 EJS 添加部分模板时的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23620128/

相关文章:

javascript - 制作Get api时显示错误信息

java - 了解 NodeJS 和非阻塞 IO

javascript - 登录passportjs后如何设置 session 超时?

javascript - 如何通过react在express上向mailchimp发送post请求

node.js - 如何保存数组?

node.js - Node/Express - 保护客户端/服务器之间通信的好方法

node.js - Neo4j Rest api 唯一性不起作用?

java - 使用 Java 将 HTML 文件读取到 DOM 树

javascript - hasClass应该在removeClass之前 - 纯Javascript

javascript - 我们如何为类型文件的输入元素设置默认文本,例如水印文本