在中间人构建执行上运行gulp任务

时间:2015-12-02 13:17:47

标签: javascript ruby gulp middleman

是否可以在中间人构建过程中运行gulpfile任务?试图搜索这个,但找不到任何东西。

1 个答案:

答案 0 :(得分:3)

您可以使用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