1

ここでファイルをどのように見ることができるのか疑問に思っています:

module.exports = function(grunt) {

  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-handlebars');

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    handlebars: {
      compile: {
        files: {
          "app/handlebars/handlebars-templates.js" : [
            "app/handlebars/*.handlebars"
          ]
        }
      }
    },
    watch: {
      handlebars: {
        files: [
          '<%= handlebars.compile.files %>' <== what to put here ?
        ],
        tasks: 'default'
      }
    }
  });

  grunt.registerTask('default', 'handlebars');
};

「app/handlebars/*.handlebars」を配置できますが、動的に正しいパスを取るものを書きたい

4

1 に答える 1

1

<%= handlebars.compile.files %>あなたの設定では、オブジェクトを指しています。そのため、時計は実際に必要なファイルを認識していません。次のように構成変数を追加/読み取ってみてください。

grunt.initConfig({
  pkg: grunt.file.readJSON('package.json'),
  handlebars_path: "app/handlebars/*.handlebars",
  handlebars: {
    compile: {
      files: {
        "app/handlebars/handlebars-templates.js" : [
          "<%= handlebars_path %>"
        ]
      }
    }
  },
  watch: {
    handlebars: {
      files: [
        "<%= handlebars_path %>"
      ],
      tasks: 'default'
    }
  }
});

または、より明示的な構成を使用します。

handlebars: {
  compile: {
    src: ['app/handlebars/*.handlebars'],
    dest: 'app/handlebars/handlebars-templates.js'
  }
}

と取得し<%= handlebars.compile.src %>ます。

于 2013-02-23T23:24:47.447 に答える