は私が探しているものの例である:Gruntタスク内のJavaScript関数にGrunt変数を渡すことはできますか?ここ
module.exports = function(grunt) {
grunt.initConfig({
config: grunt.file.readYAML('_config.yml'),
// example variable: <%= config.scripts %>
copy: {
scripts: (function() {
if (config.scripts === true) { // I want to target <%= config.scripts %>
return {
expand: true,
cwd: '<%= input %>/_assets/js/',
src: '**/*.js',
dest: '<%= output %>/assets/js/'
};
} else {
return {
// do nothing
};
}
})()
}
});
};
私はうなり声が「grunt.file.readJSON」を使用してファイル内からデータを読み、[次でそのデータが利用可能なことを知って変数のタイプ '<%= pkg.value%>'になります。
私がしたいことは、JSONファイル内の変数に基づいてif/elseオプションを指定してタスクを作成することです。私が不明な点は、Grunt変数 '<%= pkg.value%>'をJavaScriptのif文に理解する方法で渡す方法です。私は '<%=%>'を使って同じグランツ形式で渡してみただけでなく、その部分を取り除いて 'pkg.value'を渡してみましたが、どちらもうまくいかないようです。
これを行うことができるかどうかについて、誰かがどのように光を当てることができれば、私は非常に感謝します。ありがとう!直接面倒を割り当てるの代わりに
test.json
{
"fruit": "apple"
}
Gruntfile.js
module.exports = function(grunt) {
grunt.initConfig({
...
})
grunt.registerTask('sample-task', function() {
var test = grunt.file.readJSON('./test.json');
if (test.fruit === 'apple') {
// do this one thing
} else {
// do something else
}
});
grunt.registerTask('default', ['sample-task']);
};
不快な仕事の具体例を教えてください。 (コメントを 'do something'をタスクに置き換えてください) –
上記の編集例を参照してください。 –
ありがとうございます。私は答えを掲示する。それを試してみてください。 –