【发布时间】:2015-12-02 13:17:47
【问题描述】:
是否可以在中间人构建过程中运行 gulpfile 任务?尝试搜索此内容,但找不到任何内容。
【问题讨论】:
标签: javascript ruby gulp middleman
是否可以在中间人构建过程中运行 gulpfile 任务?尝试搜索此内容,但找不到任何内容。
【问题讨论】:
标签: javascript ruby gulp middleman
您可以使用custom extension。
例如,如果您想在构建周期结束时运行 gulp 任务,您可以像这样创建一个 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
我在安装 gulp (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
【讨论】:
after_configuration 和before 回调。 after_configuration 在 config.rb 执行后立即调用,但在任何构建发生之前。 before 在任何页面被渲染之前被调用。 the custom extension docs 显示了实现这两者的示例。我认为after_configuration 可能是您正在寻找的。span>