gulp-file-include添加"人工制品"在每个包含

时间:2016-02-04 11:56:43

标签: visual-studio-2015 gulp

我正在使用" gulp-file-include"在Visual Studio 2015项目中。该项目纯粹使用静态html文件,包含也是html文件。

一切正常。但是在每个@@ include之前我都会得到这个,只有当我在浏览器中使用inspect工具时才显示出来:



这将导致我的布局中的换行符。当我在文本编辑器中查看输出文件时,#34;"不会出现。该文件通常是格式化的。

enter image description here

我试图规范化html文件中的格式。但问题仍然存在。

有什么想法吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

有人发布了一个解决方法,解决了所描述的行为:

https://github.com/coderhaoxin/gulp-file-include/issues/93

相关部分:

"我找到了一种对我有用的解决方案。我并不是说它是真正的解决方案(RegEx和高级字符串操作不是我的专业知识)。下面是我更改的replace-operator.js的一部分,我添加的内容评论// Hack"

while (matchStart = regexpStart.exec(content)) {
startEnd = matchStart.index + matchStart[0].length;
matchBody = balanced('{', '}', content.slice(startEnd - 1))

if (matchBody && matchBody.start === 0) {
  matchEnd = regexpEnd ? regexpEnd.exec(matchBody.post) : true;

  if (matchEnd) {
    before = content.slice(0, matchStart.index);
    if(before.trim() == "") before = ""; // Hack: Added trim() here
    matchEnd = regexpEnd ? matchEnd[0].length : 0;
    replacement = opts.handler({
      before: before,
      args: matchStart[1],
      body: matchBody.body,
    });

    if (replacement !== undefined) {
      result += before + parse(replacement, opts);
      content = content.slice(startEnd + matchBody.end + matchEnd)
      continue;
    }
  }
}
result += content.slice(0, startEnd);
content = content.slice(startEnd);
}
result += content;
return result.trim(); // Hack: Added trim() here