by shigemk2

当面は技術的なことしか書かない

Gruntのdynamic_mappingsについて。

こういう書き方があるってことを学ぶ。

src--abc--abc.js
   |_def--def.js

こういうディレクトリ構成のJSがあったとして、buildディレクトリの下にこういう感じで圧縮したい。

build--abc--abc.min.js
     |_def--def.min.js

しかも、ディレクトリやJSが増えたとしても、Gruntfile.jsは弄りたくない。こういう場合はどうしたらいいんだろうか。(JavaScriptは圧縮したいんだけど、Gruntはあまり弄りたくない人向け)

src--abc--abc.js
   |_def--def.js
   |_ghi--ghi.js

Configuring tasks - Grunt: The JavaScript Task Runner

タスクの設定 | Grunt 日本語リファレンス | js STUDIO

grunt.initConfig({
  minify: {
    dynamic_mappings: {
      // Gruntは"minify"タスクが実行さされると、lib/"配下で**/*.js"を探し、
      // src-destのファイルマッピングをビルドするため、ファイルが追加・削除されても
      // Gruntfileを更新する必要はありません。
      files: [
        {
          expand: true,     // 動的拡張機能を有効
          cwd: 'lib/',      // マッチするsrcはこのパスの相対
          src: ['**/*.js'], // マッチする実際のパターン
          dest: 'build/',   // 遷移先のパスの先頭部分
          ext: '.min.js',   // 遷移先のファイルパスにつける拡張子
        },
      ],
    },
  },
});