首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将国家预防机制转化为一项艰巨的任务

将国家预防机制转化为一项艰巨的任务
EN

Stack Overflow用户
提问于 2018-01-26 22:27:09
回答 1查看 75关注 0票数 0

我的gulp文件使用Nunjucks生成一组html文件。我想使用这些文件输出一些html到文本文件。我找到了一个将html文件转换为文本的NPM,但我还不能100%确定如何或是否可以在一个gulp任务中使用它。模块是html到文本,我试图这样使用它:

代码语言:javascript
复制
var html2text = require('html-to-text');
gulp.task('html2text',function(){
  return gulp.src('build/*.html')
  .pipe(html2text.fromFile())
  .pipe(gulp.dest('build/txt'))
});

显然,这是在抱怨没有将文件转换为txt。我觉得这应该是可行的,但我还不是很精通吞咽文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-27 09:31:59

代码语言:javascript
复制
var gulp = require('gulp');
var glob = require('glob-fs')({ gitignore: true });
var html2text = require('html-to-text');
var fs = require('fs');
var path = require('path');

gulp.task('default', function () {

  glob.readdirStream('build/*.html')
    .on('data', function (file) {
      console.log(file.path);

      html2text.fromFile(file.path, (err, text) => {
        if (err) return console.error(err);

        // strip off extension and parent directories
        var filename = path.basename(file.path, '.html');

        // I assume you want a.html text to be written to 'build/txt/a.txt'
        fs.writeFileSync(path.join('build/txt', filename  + '.txt'), text, 'utf8');
      });
   });
});

如果不愿意,您不必使用gulp.src和gulp.dest,并在gulp任务中处理流。上面的任务一个接一个地将文件全局化,并对它们进行单独操作,将每个文件名发送给html2text函数。

请参阅glob fs包。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48470448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档