До сих пор я работал над тем, как я хочу (который контролирует все файлы, которые я хочу, и обновляюсь всякий раз, когда есть изменения), кроме того, что я хотел бы вносить изменения в Sass/CSS и он обновляется в браузере без загрузки страницы. Это не огромная сделка, но иногда я пытаюсь изменить стиль чего-то после того, как было какое-то взаимодействие с страницами, и мне нужно пройти процесс снова, если страница обновится.Как я могу получить Grunt/Watch/LiveReload для перезагрузки Sass/CSS без обновления полной страницы?
Я вполне уверен, что это возможно, но до сих пор это ускользает от меня.
Вот мой Gruntfile.js
:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
connect: {
server: {
options: {},
}
},
sass: {
dist: {
options: {
style: 'compressed'
},
files: {
'css/main.css': 'css/scss/main.scss',
}
}
},
jshint: {
files: ['js/*.js'],
},
watch: {
options: {
livereload: true,
},
html: {
files: ['index.html'],
},
js: {
files: ['js/**/*.js'],
tasks: ['jshint'],
},
css: {
files: ['css/scss/**/*.scss'],
tasks: ['sass'],
},
}
});
// Actually running things.
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-connect');
grunt.loadNpmTasks('grunt-contrib-jshint');
// Default task(s).
grunt.registerTask('default', ['connect', 'watch']);
};
Одна странная вещь, которую я хотел бы упомянуть о моей установке: когда я бегу grunt watch --verbose
я вижу, что это наблюдение .git
, а также .sass-cache
. Правильно ли это? Я не знаю, что я сделал, чтобы сделать это.
Watching .git for changes.
Watching .sass-cache for changes.
Спасибо, Бен! Это сделал трюк. –
Добро пожаловать :-) – Ben
Быстрая заметка, это не сработало для меня с 'spawn: false', но отлично работало с' spawn: true' - thx Ben – butterbrot