【问题标题】:Run gulp tasks on middleman build execution在中间人构建执行上运行 gulp 任务
【发布时间】:2015-12-02 13:17:47
【问题描述】:

是否可以在中间人构建过程中运行 gulpfile 任务?尝试搜索此内容,但找不到任何内容。

【问题讨论】:

    标签: javascript ruby gulp middleman


    【解决方案1】:

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

    【讨论】:

    • 还有一个问题,有没有办法在构建之前运行 gulp,因为我忽略了一些文件以保持构建文件夹清洁。
    • 是的,您应该能够挂钩after_configurationbefore 回调。 after_configuration 在 config.rb 执行后立即调用,但在任何构建发生之前。 before 在任何页面被渲染之前被调用。 the custom extension docs 显示了实现这两者的示例。我认为after_configuration 可能是您正在寻找的。​​span>
    猜你喜欢
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 1970-01-01
    • 2015-10-18
    • 2015-10-18
    • 2019-03-28
    • 2015-01-31
    • 2015-07-02
    相关资源
    最近更新 更多