0

背景信息

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

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

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

问题

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

出现次数(<% 出现 %>)

我已经做了什么

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

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

4

1 回答 1

0
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 插件来执行 cmd 行函数,例如find.

您可能希望在您的GruntFile.js:

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

然后打电话grunt exec:echo_name

于 2018-03-01T10:36:24.647 回答