fex-team / fis3

FIS3
http://fis.baidu.com
BSD 2-Clause "Simplified" License
2.79k stars 693 forks source link

fis有没有类似gulp-htmlprocessor的插件 #91

Closed changexbc closed 9 years ago

changexbc commented 9 years ago

现在有个需求是要在构建的时候,在html中删除部分引用的js,有没有类似gulp-htmlprocessor的插件可以做到。

oxUnd commented 9 years ago

删除部分引用的 js ?

changexbc commented 9 years ago

@xiangshouding 就是类似

<!-- build:remove -->
<script src="js/JSBridge.js"></script>
<script src="js/JSObj.js"></script>
<script src="js/test.js"></script>
<!-- endbuild  -->

我希望可以在

fis.media('prod')

的时候做一些处理可以删除这部分的js

oxUnd commented 9 years ago

这个你可以自己实现一个 FIS 的插件搞定,现而今没有用户提供这样的插件。另外,这种用法会使代码本身难以维护。如果可以,你再测试阶段实现一个插件来添加这些代码的引用比直接写死在源码最后编译删掉好的多。

你想象一下你的代码里面有很多补丁式的代码是用来做测试的,而不是功能本身的一部分。这个也挺糟糕。

当然不说这些习惯性的问题。你可以实现一个插件来进行剔除这些引用,而且这个过程会非常简单。

oxUnd commented 9 years ago

function clearDebug() {
  return function (content, file, opt) {
    return content.replace(/<!--\s*build:remove\s*-->[\s\S]*?<!--\s*endbuild\s*-->/g, '');
  };
}

fis.media('prod').match('a.html', {
  preprocessor: clearDebug()
});
changexbc commented 9 years ago

非常感谢!