我们正在开发一个有助于在 AWS Lambda 中部署和维护代码的项目/框架。我想将 lambda 函数的所有 node.js 代码构建/捆绑到一个 js 文件中,因为:
- 较小的代码库有助于解决 lambda 冷启动问题
- Lambda 的代码压缩大小限制为 50MB
我们不想创建自定义捆绑器来执行此操作,因为已经有很多选项(systemjs、browserify、webpack 等)。然而,我们担心一些节点模块不能很好地与捆绑器/构建器一起使用的问题。
特别是 webpackaws-sdk
的已知问题,说它有browserify支持,但我已经和那些对 browserify 的 aws-sdk 有问题的人谈过
我们想选择一个现有的捆绑器(或 2 个),但我们想确保它适用于尽可能多的模块/代码。我们正在尝试为 JAWS 创建一个插件生态系统,因此正确处理这一点很重要(不想让人们关闭,因为他们使用的模块 X 不会捆绑)。
问题:
- 我将如何进行捆绑/构建以满足这些限制?
- 我们是否可以为产品的消费者提供任何指导,以确保他们编写/使用的代码能够捆绑在一起?例如:动态 require()s 导致问题 AFAIK。