1

私は自分の個人サイトで行っている作業に grunt を統合する作業を行ってきました。ただし、現在の実装ではうまく機能しないように設計されているようです。つまり、静的サイト ジェネレーター (Wintersmith) を使用しています。私の望みは、サイト ジェネレーターによって生成されたこのディレクトリで一連のアクション (css の縮小、js の uglify、HTML のフォーマット、空行の削除) を実行することです。

要するに、ここに私の問題があります:

  1. Grunt プラグインは、ファイルのソースと宛先が常に異なるようです。私の場合は、ファイル (CSS ファイルなど) を取得し、同じファイルに縮小するだけです。
  2. Grunt は、各アクションの出力が異なる一連のファイルに対してアクションを実行したい状況を処理していないようです。たとえば、ディレクトリ内のすべての HTML ファイルに対して生成された HTML をフォーマットするアクションを実行したい場合 (それぞれに具体的な名前を付けずに)、できません。

この場合は grunt を使用したいと思いますが、このタスク用のシェル スクリプトを作成した方がよいようです。

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 に答える