Tôi thực sự rất thích có thể có một tệp grunt phát triển và sử dụng cùng một tệp phiên bản sản xuất của tập lệnh.Tác vụ thay thế grunt.js cho môi trường phát triển/sản xuất
Tôi đã thử đề xuất trên SO nhưng tập lệnh của tôi sẽ không thành công khi cố gọi một đối số dev/prod. Tôi tin rằng câu trả lời là cho một phiên bản cũ của grunt, hoặc có lẽ các plugin tôi đang sử dụng.
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');
};
Thực sự, chừng nào tôi có thể nhận được hai phiên bản chạy bằng cách gọi chúng với, ví dụ:
grunt //local
grunt prod //live
sau đó tôi có thể chơi xung quanh với các kịch bản và những gì để tải.
Tôi nghĩ rằng những gì bạn đang tìm kiếm "tùy chọn" là - https://github.com/gruntjs/grunt/wiki/grunt.option - Tôi tin rằng đó vẫn là cách chính xác. Ngoài ra kiểm tra yeoman vì họ có một thiết lập sạch sẽ với tất cả các loại phần hữu ích cho câu đố này. Tất cả bạn sẽ phải nhớ là máy chủ grunt và xây dựng grunt. – Dylan