Я использовал assemble для создания библиотеки шаблонов. У меня есть шаблон как разные файлы, которые все встроены в один файл. У меня также есть несколько страниц, которые являются шаблонами для HTML.Только визуализировать страницы, которые я изменил с помощью сборки
Проблема в том, что если я поменяю одну вещь на любом из файлов, я должен ждать, пока все это будет визуализировано, это займет до 30 секунд из-за количества страниц, которые у меня есть. Как вы можете себе представить, это может расстроиться, и я всего лишь на полпути через проект.
Кто-нибудь знает, как заставить Grunt отображать только те страницы, которые я изменил, а не все из них?
Ниже мой Gruntfile.js:
'use strict';
module.exports = function(grunt) {
// 1. All configuration goes here
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
dist: {
src: [
'vendor/jquery-ui/ui/core.js',
'vendor/jquery-ui/ui/widget.js',
'vendor/jquery-ui/ui/accordion.js',
'vendor/jquery-ui/ui/datepicker.js',
'javascript/slick/slick.js',
'vendor/magnific-popup/dist/jquery.magnific-popup.min.js',
'vendor/heapbox/src/jquery.heapbox-0.9.4.js',
'vendor/jquery-waypoints/waypoints.js',
'vendor/jquery-waypoints/shortcuts/sticky-elements/waypoints-sticky.js',
'javascript/*.js'
],
dest: 'public/javascript/scripts.js'
}
},
uglify: {
build: {
src: 'public/javascript/scripts.js',
dest: 'public/javascript/scripts.min.js'
}
},
copy: {
main: {
src: [
'vendor/jquery/dist/*.js',
'vendor/prismjs/*',
'vendor/bigSlide/**',
'vendor/bigSlide/**',
'vendor/magnific-popup/dist/*',
'images/*'
],
dest: 'public/'
}
},
sass: {
dist: {
options: {
style: 'compressed'
},
files: {
'public/css/style.min.css': 'scss/style.scss'
}
},
expanded: {
options: {
style: 'expanded'
},
files: {
'public/css/style.css': 'scss/style.scss'
}
}
},
watch: {
all: {
files: ['*.hbs', 'patterns/*.hbs', 'layouts/*.hbs', 'templates/*.hbs'],
tasks: ['assemble'],
options: {
spawn: false
}
},
css: {
files: ['scss/*.scss', 'scss/**/*.scss'],
tasks: ['sass'],
options: {
spawn: false
}
},
copy: {
files: ['images/*', 'vendor/*', 'CHANGELOG'],
tasks: ['copy'],
options: {
spawn: false
}
},
concat: {
files: ['javascript/*.js'],
tasks: ['concat', 'uglify'],
options: {
spawn: false
}
}
},
assemble: {
options: {
flatten: false,
plugins: ['assemble-middleware-permalinks'],
partials: ['patterns/*.hbs'],
helpers: ['handlebars-helper-compose', 'handlebars-helper-include' ],
layoutdir: 'layouts',
layout: 'library.hbs',
data: ['templates/data/*.{json,yml}'],
collections: [{
name: 'patterns',
inflection: 'pattern'
}]
},
pages: {
src: ['*.hbs', 'patterns/*.hbs', 'templates/*.hbs'],
dest: 'public/'
},
patterns: {
options: {
layout: 'default.hbs'
},
files: {
'public/': ['patterns/*.hbs']
}
},
files: {
options: {
layout: 'default.hbs'
},
files: {
'public/': ['templates/*.hbs']
}
}
}
});
// 3. Where we tell Grunt we plan to use this plug-in.
grunt.loadNpmTasks('assemble');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-copy');
// 4. Where we tell Grunt what to do when we type "grunt" into the terminal.
grunt.registerTask('default', ['copy', 'assemble', 'sass', 'watch']);
};
Может кто-нибудь помочь? Приветствия. Стив
Thanks Tom, Я дал это, и он регистрирует то, что изменилось, но все еще собирает все страницы. Я могу настроить настройки, поэтому я буду продолжать играть. Кажется, что-то, с чем команда Assemble не беспокоится - https://github.com/assemble/assemble/issues/451 – mrsteveheyes