grunt 怎样合并 html
1个回答
2016-08-16 · 百度知道合伙人官方认证企业
兄弟连教育
兄弟连教育成立于2006年,11年来专注IT职业教育,是国内专业的IT技术培训学校。2016年成功挂牌新三板(股票代码:839467)市值过亿。开设专注程序员培训专注php、Java、UI、云计算、Python、HTML5、
向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);
})
})
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询