Opsi untuk menghapus aws-sdk dari node_modules lokal sebelum digunakan
aws-sdk sendiri adalah modul simpul yang sangat besar (lebih dari 20 MB dibuka ritsletingnya) dan bersama dengan semua dependensinya, bobotnya cukup untuk mencegah pengeditan kode dalam browser pada platform lambda.
Seorang pengguna mungkin ingin menggunakan sesuatu yang bergantung pada aws-sdk (misalnya @awspilot/dynamodb
) - tetapi ini akan berjalan baik dengan modul aws-sdk asli lambda.
Saat ini Anda dapat secara manual menghapus aws-sdk dan dependensinya dan dengan demikian mengecilkan fungsi package.zip Anda, menggunakan kasus saya sebagai contoh, faktor 25.
Mungkinkah opsi tanpa server untuk menghapus modul yang tidak perlu ini sebelum mengemas/menyebarkan?
T/A
Hai @davepwsmith terima kasih sudah membuka 👍
Anda dapat menggunakan aturan exclude
/ include
untuk menentukan gumpalan yang akan menjelaskan apa yang harus dikecualikan / disertakan dalam paket penerapan Anda (lihat: https://serverless.com/framework/docs/providers /aws/guide/packaging#exclude--include).
Kami juga sedang mengerjakan #2709 yang mungkin terkait.
FWIW: _Sekarang_ cukuplah menambahkan aws-sdk
sebagai devDependency
. Itu kemudian akan dikecualikan secara otomatis dan karena runtime AWS Lambda Node.JS memiliki aws-sdk yang disematkan, Lambda Anda seharusnya masih berfungsi (milik saya :))
@ChristianUlbrich Terima kasih telah berbagi!
Baru saja mencukur 9mb ukuran paket dengan memindahkan aws-sdk
ke devDependency
Komentar yang paling membantu
FWIW: _Sekarang_ cukuplah menambahkan
aws-sdk
sebagaidevDependency
. Itu kemudian akan dikecualikan secara otomatis dan karena runtime AWS Lambda Node.JS memiliki aws-sdk yang disematkan, Lambda Anda seharusnya masih berfungsi (milik saya :))