特意注册来回答这个问题,我是这么设计的:
先用`gulp-rev`来管理资源文件的文件名,就是加上hash,来处理浏览器缓存的问题:
`admin.js` -> `admin-afsjdkf.js`
======
然后用`gulp-asset-manifest`来搜集所有处理过的资源文件,生成一个文件`asset-manifest.json`,大概长这样:
```
{ libs:
[ 'bootstrap.min-eedf9ee80c.css',
'angular.min-5b860c722c.js',
'bootstrap-2183d05f5a.css' ],
user: [ 'test-07422103d7.css' ] }
```
======
最后写了一个gulp的插件`gulp-rev-rep`,(额,本来打算叫replace的,结果已经有了,就改成rep),根据上边那个json文件来修改html模板中的资源引入标签:
```
<html>
<!-- libs assets -->
<% bundleName:libs %>
<!-- user page assets -->
<% bundleName : user %>
</html>
```
--->
```
<html>
<!-- libs assets -->
<script src="/static/js/angular.min-5b860c722c.js"></script>
<link rel="stylesheet" href="/static/css/bootstrap.min-eedf9ee80c.css">
<link rel="stylesheet" href="/static/css/bootstrap-2183d05f5a.css">
<!-- user page assets -->
<link rel="stylesheet" href="/static/css/test-07422103d7.css">
</html>
```
demo地址:
https://github.com/nisnaker/gulp-rev-rep/tree/master/demo其他的合并啊压缩啊map啊根据需求自己找插件吧。