实时缩小nodejs模板

时间:2016-09-16 20:16:06

标签: node.js webpack handlebars.js

我正在使用Handlebars构建一个nodejs应用程序作为我的模板引擎。我有一个这样的模板(template.hbs):

<html>
      <head></head>
      <body>
         {{ my_var }}
      </body>
    </html>

我想知道我是否可以使用此文件工作(编写代码),同时在节点上使用缩小版本(将为用户编译和交付),如下所示(minified_template.hbs):

<html><head></head><body>{{ my_var }}</body></html>

我的意思是,我希望有一些程序可以一直运行,并且可以看到&#34; template.hbs&#34;并生成&#34; minified_template.hbs&#34;。这样我就可以节省带宽和金钱。有这样的程序可以做到吗?我听说过Webpack,但在搜索谷歌后,我仍然不确定它能做到这种工作。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我找到了问题的答案。它的名字是&#34; Gulp&#34;:

安装nodejs,然后在命令行上运行:

npm install -g gulp
npm install --save-dev gulp-minify-html

创建一个名为&#34; gulpfile.js&#34;的文件。为:

var gulp = require('gulp');
var minifyHtml = require("gulp-minify-html");

gulp.task('minify-views', function () {
    gulp.src('./views/*.html')
    .pipe(minifyHtml())
    .pipe(gulp.dest('./views_minified'));
});


gulp.task('watch-views', function () {
    gulp.src('./views/*.html')
    .pipe(minifyHtml())
    .pipe(gulp.dest('./views_minified'));

    gulp.watch(["./views/*.html"],['minify-views']);
});

然后,从命令行运行:

gulp watch-views

当&#34;视图&#34;下的anny文件文件夹被修改,它被gulp缩小并以相同名称保存到名为&#34; views_minified&#34;的文件夹中。