【问题标题】:Parsing files to populate placeholders with values解析文件以使用值填充占位符
【发布时间】:2018-07-30 00:39:45
【问题描述】:

背景资料

我有一个由许多构造函数组成的 JS 库。我正在使用grunt-concat & -uglify 将它们编译成一个文件。

每个构造函数都有一个readme.md 文件。

该库用于创建广告横幅。它被大约 10 名开发人员使用,他们在使用该库的文件夹 Templates 中创建自己的广告模板。这些文件是.xml 文件,它们还提供了一个CDATA 标记,他们可以在其中插入他们的JavaScript 代码。

问题

我想用计数器填充readme 文件,以便开发人员可以直接在其文档中查看特定构造函数的受欢迎程度。

出现次数()

我已经做了什么

我可以通过执行得到出现次数 find . -name "*.xml" -exec grep -e "new\Foo\.Bar" {} \; | wc -l

如果我能获取这个值并将其插入到readme 文件中,那就太好了。

【问题讨论】:

    标签: build gruntjs readme


    【解决方案1】:
    grunt.registerTask('count_occurrences', '', function () {
            var exec = require('child_process').execSync;
            var result = exec("find . -name "*.xml" -exec grep -e "new\Foo\.Bar" {} \; | wc -l", { encoding: 'utf8' });
    
            grunt.log.writeln(result);
            // Now write result to your README file
            grunt.file.write("README.md", result);
    });
    

    您可以使用名为 exec (https://github.com/jharding/grunt-exec) 的 grunt 插件来执行命令行功能,例如find.

    您可能希望在您的GruntFile.js 中添加这样的内容:

    exec: {
      count_occurrences: {
        cmd: function() {
          return 'find . -name "*.xml" -exec grep -e "new\Foo\.Bar" {} \; | wc -l';
        }
      }
    }
    

    然后拨打grunt exec:echo_name

    【讨论】:

      猜你喜欢
      • 2013-12-23
      • 2017-07-19
      • 1970-01-01
      • 2010-09-29
      • 1970-01-01
      • 2011-06-22
      • 2016-10-29
      • 2011-11-05
      • 1970-01-01
      相关资源
      最近更新 更多