私たちは、AWS Lambda でのコードのデプロイと維持を支援するプロジェクト/フレームワークに取り組んでいます。次の理由により、ラムダ関数のすべての node.js コードを 1 つの js ファイルにビルド/バンドルしたいと考えています。
- 小さいコードベースは、ラムダ コールド スタートの問題に役立ちます
- Lambda には 50MB のコード zip サイズ制限があります
すでに多くのオプション (systemjs、browserify、webpack など) があるため、これを行うためのカスタム バンドラーを作成したくありません。ただし、一部のノード モジュールがバンドラー/ビルダーとうまく連携しないという問題が懸念されています。
具体的aws-sdk
にはwebpack に関する既知の問題があり、 browserify をサポートしていると述べていますが、aws-sdk の browserify で問題が発生した人々と話をしました。
既存のバンドラー (または 2 つ) を選択したいのですが、それができるだけ多くのモジュール/コードで機能することを確認したいと考えています。私たちは JAWS 用のプラグイン エコシステムを作成しようとしているので、これを正しく行うことが重要です (使用するモジュール X がバンドルされないため、人々をオフにしたくありません)。
質問:
- これらの制約を満たすためにバンドル/ビルドを行うにはどうすればよいですか?
- 私たちの製品の消費者が記述/使用するコードがバンドルされることを保証するために、消費者に与えることができるガイドラインはありますか? 例:動的なrequire()は問題を引き起こします。