grunt 怎样合并 html
1个回答
2016-09-16 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
简单的做法就是把 header 和 footer 抽出来,在 html 中通过占位符的方式引入,然后自己写个自定义的 task 去插入。
例如,header.html 的路径是:/common/header.html,其中一个页面可能这样引入 header 文件:
<!DOCTYPE html>
<html>
<head>
<title>A</title>
</head>
<body>
<include src="/common/header.html"/>
</body>
</html>
然后自己写一个 grunt task 来打包 html 文件,把 html 文件中的 <include xxx/> 替换成对应的文件内容, 下面是伪代码:
grunt.registerTask('htmlpack', function(){
var dir = xxxx; //源文件的路径
var destDir = xxxx; //要保存的路径
// 读取源文件
fs.readDir(dir, function(filename){
var file = fs.readFile(filename);
var include = file.match(/\<include.+?\/\>/);
// 替换内容
include.forEach(function (item) {
var src = item.replace('<include src=""', '').replace('"/>', '');
var html = fs.readFile(src);
file.replace(item, html);
});
// 输出文件
fs.writeFile(destDir+filename, file);
})
})
例如,header.html 的路径是:/common/header.html,其中一个页面可能这样引入 header 文件:
<!DOCTYPE html>
<html>
<head>
<title>A</title>
</head>
<body>
<include src="/common/header.html"/>
</body>
</html>
然后自己写一个 grunt task 来打包 html 文件,把 html 文件中的 <include xxx/> 替换成对应的文件内容, 下面是伪代码:
grunt.registerTask('htmlpack', function(){
var dir = xxxx; //源文件的路径
var destDir = xxxx; //要保存的路径
// 读取源文件
fs.readDir(dir, function(filename){
var file = fs.readFile(filename);
var include = file.match(/\<include.+?\/\>/);
// 替换内容
include.forEach(function (item) {
var src = item.replace('<include src=""', '').replace('"/>', '');
var html = fs.readFile(src);
file.replace(item, html);
});
// 输出文件
fs.writeFile(destDir+filename, file);
})
})
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询