Hier ist ein Beispiel dafür, was ich suche:Können Sie eine Grunt-Variable an eine JavaScript-Funktion in einer Grunt-Aufgabe übergeben?
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
};
}
})()
}
});
};
Ich weiß Grunt die Daten innerhalb einer Datei ‚grunt.file.readJSON‘ mit lesen können, und haben dann die verfügbaren Daten mit der folgenden Typ der Variablen, '<% = pkg.value%>'.
Was ich tun möchte, ist eine Aufgabe mit If/Else-Optionen basierend auf den Variablen aus der JSON-Datei zu erstellen. Was ich nicht verstehe, ist, wie man eine Grunt-Variable '<% = pkg.value%>' in die JavaScript if-Anweisung in einer Weise eingibt, die sie versteht. Ich habe versucht, es im gleichen Grunt-Format mit "<% =%>" zu übergeben, sowie diesen Teil wegzuziehen und 'pkg.value' zu übergeben, aber keiner scheint zu funktionieren.
Wenn jemand etwas Licht darauf werfen kann, ob und wie dies getan werden kann, würde ich es sehr schätzen. Vielen Dank!
Können Sie bitte ein konkretes Beispiel für Ihre Grunt-Aufgabe angeben? (Ersetzen Sie die Kommentare "tue etwas" mit Ihrer Aufgabe) –
Siehe das oben bearbeitete Beispiel. –
Danke. Ich poste eine Antwort. Versuch es. –