Ich würde wirklich gerne in der Lage sein, eine Entwicklungs-Grunt-Datei zu haben und die gleiche Datei eine Produktionsversion des Skripts zu verwenden.Alternate grunt.js Aufgaben für Entwicklungs-/Produktionsumgebungen
Ich habe den Vorschlag auf SO versucht, aber mein Skript wird nur fehlschlagen, wenn ein dev/prod-Argument aufgerufen werden soll. Ich glaube, dass die Antwort für eine ältere Version von Grunt ist, oder vielleicht die Plugins, die ich verwende.
module.exports = function (grunt) {
// load all grunt tasks
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
compass: {
dev: {
options: {
config: 'config.rb',
force: true,
livereload: true
}
}
},
uglify: {
build: {
src: ['docroot/js/*.js', 'docroot/components/**/*.js'],
dest: 'docroot/dis/main.min.js'
}
},
watch: {
options: {
dateFormat: function(time) {
grunt.log.writeln('The watch finished in ' + time + 'ms at' + (new Date()).toString());
grunt.log.writeln('Waiting for more changes...');
},
livereload: true
},
sass: {
files: ['docroot/sass/*.scss'],
tasks: ['compass:dev']
},
/* watch and see if our javascript files change, or new packages are installed */
js: {
files: '<%= uglify.build.src %>',
tasks: ['uglify']
},
/* watch our files for change, reload */
livereload: {
files: ['*.html', 'docroot/css/*.css', 'docroot/img/*', 'docroot/js/{main.min.js, plugins.min.js}'],
options: {
livereload: true
}
}
}
});
grunt.registerTask('default', 'watch');
};
Wirklich, so lange ich kann zwei Version von ihnen, zum Beispiel Aufruf Laufen zu bekommen:
grunt //local
grunt prod //live
dann kann ich mit den Skripten spielen, um und was zu laden.
Ich denke, was Sie suchen ist „Option“ - https://github.com/gruntjs/grunt/wiki/grunt.option - Ich glaube, es ist immer noch der richtige Weg. Auch Kasse Yeoman, wie sie eine saubere Einrichtung mit allerlei nützlichen Stücken zu diesem Puzzle haben. Alles, an das du dich erinnern musst, ist der Grunt-Server und das Grunzen. – Dylan