webpack
ServerlessFramework
serverless-webpack

Serverless Webpackでオプションの値を受け取る

$ sls deploy --stage=staging

みたいな感じでビルド時に渡したオプションをWebpack側でも受け取って使いたいなーと思って調べてたら案外簡単だったのでメモ。

https://github.com/serverless-heaven/serverless-webpack/issues/301

webpack.config.jsで下記のコードを書けば受け取れる。

const slsw = require('serverless-webpack');

const stage = slsw.lib.options.stage;

あとはオプションの値に合わせて、DefinePluginとかで設定してやれば良い。

  plugins: [

new webpack.DefinePlugin({
HOGE: JSON.stringify(SETTINGS[stage])
})
]