简单的HTML预处理器

时间:2014-08-13 07:51:41

标签: html haml pug

是否有可用于现有HTML代码的简单HTML预处理器,我不需要修改现有的html以符合预处理器语法?

我正在开发一个带有几个用html构建的页面的移动应用程序,但是我开始遇到在更改类似内容(页眉,页脚等)时必须更新每个页面的问题我不想要复制内容和不匹配,而不是我想使用具有include方法的预处理器(类似于php的方式),以便我可以包含这些类似的内容。

我看过HAML& Jade,但似乎他们有一个严格的语法,你需要跟随缩进和排序或编辑html包含每行的管道,否则事情不会编译。

就像我说我已经存在html我只想剪切&将我的HTML粘贴到不同的文件中,包含它们并坚持使用该工作流程,因为我认为这是最简单的。

但如果有人有任何其他想法我如何解决我的情况也是受欢迎的。

1 个答案:

答案 0 :(得分:4)

我想因为您的要求是只包含您不需要完整模板系统的文件。您可以查看gulp-include这是一个包含文件的gulp插件。使用gulp具有以下优势:gulp带有监视功能,可以监视文件系统的变化 - 只要检测到更改,就可以触发任务。

gulpfile.js看起来像

的示例
var gulp = require('gulp');
var include = require('gulp-include');

gulp.task('template', function() {
  return gulp
    .src('*.html')
    .pipe(include())
    .pipe(gulp.dest('dist'))
});

gulp.task('dev', function() {
  gulp.watch('*.html', ['template']);
});

gulp.task('default', ['template']);

这个gulpfile注册一个'模板'任务,它接受所有html文件并使用gulp-include插件处理文件的内容。模板任务被注册为默认gulp任务。因此,如果您在没有任何命令行参数的情况下调用gulp,则运行模板任务。 gulp'dev'任务允许您从监视所有html文件进行更改的命令行运行gulp dev,并在html文件发生更改时触发模板任务。

gulp include plugin扫描你的html文件,比如

= include relative/path/to/file.html

并包含'file.html'内容。

在gulp-include网站上详细记录了包含语法。