:note

middleman build で除外設定

Middlemanの外部パイプラインで余分なファイルがbuildされるので調べた

Exclude files from build? · Issue #1102 · middleman/middleman

app.js, hello.js, bye.jsbundle.js を生成したい

// webpack.config.js
module.exports = {
  context: __dirname + '/assets/javascripts',
  entry: {
    "bundle": ["./app.js", "./hello.js", "./bye.js"]
  },
  
  output: {
    path: __dirname + '/source/javascripts',
    filename: "[name].js"
  }
}
# config.rb
npm_prefix = `npm bin`.strip

activate :external_pipeline, 
  name: "webpack",
  command: build? ? "#{npm_prefix}/webpack --bail" : "#{npm_prefix}/webpack --watch -d",
  source: "./assets/javascripts",
  latency: 1

このような設定で middleman build すると

   create  build/app.js
   create  build/bye.js
   create  build/hello.js

のように bundle.jsのsrcのjsもが生成されるので、 configure :build ブロックで生成されないよう ignore を追加する

# config.rb
configure :build do
  # これは効かない
  # ignore 'assets/javascripts/*js'

  Dir.glob "./assets/javascripts/*js" do |js|
    ignore File.basename(js)
  end
end
 
comments powered by Disqus
back to top