我正在使用带有 EJS 引擎的 SailsJS。
当我在布局文件中使用 <% includepartials/template.ejs %> 或 <%partial('partials/template.ejs') 添加部分时,我在编译的 HTML 代码 (template.ejs) 之前发现了空格。
请注意,当我将 template.ejs 内容复制粘贴到布局中(不使用 include/partials)时,空格消失了。
参见下面的图片:
第一部分:代码。
第二部分: chrome DOM。
第三部分:空白元素检查(DOM 属性)
最佳答案
我也遇到过同样的问题。 我所做的很简单。
转到 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/