created: 2019-08-25T06:06:15.000Z
serverless-webpack のプロジェクトで serverless-offline 実行時に NODE_ENV を設定する
地味だがハマった。ちょうどおんなじことをしていた人の解決策が見つかって助かった
↑の方法でうまくいった
つまり原因は
こういうことらしい
- webpack はNODE_ENVをデフォルトで
development
にする - serverless-offline は webpack をキックする時に NODE_ENV をセットせず、デフォルトになっている?
しかし、シェル変数でなく環境変数( export NODE_ENV
)として設定していたので、環境変数NODE_ENVは引き継がれそうなものだが、serverless-offline がunsetしているのだろうか?
差分
とにかくにも、こんな感じでNODE_ENVを設定できるようになる
.envrc
+ export NODE_ENV=local
serverless.yml
stage: ${opt:stage, 'dev'}
+ environment:
+ NODE_ENV: ${env:NODE_ENV}
webpack.config.js
+ plugins: [new webpack.EnvironmentPlugin(slsw.lib.serverless.service.provider.environment)],
}