Возможно ли запустить задачи gulpfile во время процесса сборки посредника? Пытался найти это, но ничего не смог найти.Запуск задач gulp на выполнение сборки промежуточного кода
2
A
ответ
3
Вы можете использовать custom extension.
Например, если вы хотите запускать задачи глотка в конце цикла сборки, вы можете создать after_build
расширение, как это:
В config.rb:
class MyFeature < Middleman::Extension
def initialize(app, options_hash={}, &block)
super
app.after_build do |builder|
builder.run 'gulp default'
end
end
end
::Middleman::Extensions.register(:my_feature, MyFeature)
activate :my_feature
Я проверил выше с глотком установлена (npm install --global gulp
) и следующий gulpfile.js:
var gulp = require('gulp');
gulp.task('default', function() {
console.log('Hello, world');
});
и после запуска middleman build
я получаю выход, как следующее:
[21:25:24] Using gulpfile ~/dev/projects/demo/gulpfile.js
[21:25:24] Starting 'default'...
Hello, world
[21:25:24] Finished 'default' after 98 μs
extension docs есть другие примеры расширений, которые позволяют подключить в другие области Middleman для аналогичных целей.
Редактировать Пример after_configuration
(непроверенных):
class MyFeature < Middleman::Extension
def initialize(app, options_hash={}, &block)
super
end
def after_configuration
# add your pre-build, post config.rb execution code here...
`gulp default`
end
end
Awesome! работал и на меня, а – Ilja
Еще один вопрос, есть ли способ запустить gulp перед сборкой, так как у меня есть некоторые файлы, которые игнорируются, чтобы сохранить сборку чистой. – Ilja
Да, вы должны иметь возможность подключаться к обратным вызовам 'after_configuration' и' before'. 'after_configuration' вызывается сразу после выполнения config.rb, но до того, как произойдет любое строительство. 'before' вызывается непосредственно перед визуализацией любой страницы. [пользовательские расширения docs] (https://middlemanapp.com/advanced/custom_extensions/) показывают примеры реализации обоих из них. Я думаю, что 'after_configuration', скорее всего, то, что вы ищете. – torbinsky