1

我一直在努力为我在我的个人网站上所做的工作整合 grunt。但是-似乎它的设计不适用于我当前的实现。简而言之,我使用的是静态站点生成器(Wintersmith)。我的愿望是在站点生成器生成的这个目录上执行一系列操作(缩小 css、uglify for js、格式化 HTML 和删除空行)。

简而言之,这是我的问题:

  1. Grunt 插件似乎总是有不同的文件来源和目的地。就我而言,我只是希望它获取一个文件(例如,一个 CSS 文件)并将其缩小到同一个文件中。
  2. Grunt 似乎无法处理您想要对一系列文件执行操作的情况,其中每个操作都有不同的输出。例如,如果我希望它执行一个操作来格式化目录中所有 HTML 文件上生成的 HTML(没有具体命名它们) - 那么我不能。

在这种情况下我想使用 grunt,但似乎我最好为这个任务编写一个 shell 脚本。

4

1 回答 1

6
  1. 只需在src和中指定相同的路径dest

  2. 是的你可以。请参阅动态构建文件对象

从文档复制的示例:

grunt.initConfig({
  minify: {
    dynamic_mappings: {
      // Grunt will search for "**/*.js" under "lib/" when the "minify" task
      // runs and build the appropriate src-dest file mappings then, so you
      // don't need to update the Gruntfile when files are added or removed.
      files: [
        {
          expand: true,     // Enable dynamic expansion.
          cwd: 'lib/'       // Src matches are relative to this path.
          src: ['**/*.js'], // Actual pattern(s) to match.
          dest: 'build/',   // Destination path prefix.
          ext: '.min.js',   // Dest filepaths will have this extension.
        },
      ],
    },
  },
});

这与 Grunt 0.4 相关

于 2013-01-15T23:30:51.313 回答