gpt4 book ai didi

javascript - 后端应用使用 Webpack 会降低性能吗?

转载 作者:搜寻专家 更新时间:2023-11-01 00:38:37 26 4
gpt4 key购买 nike

我正在研究使用 AWS Lambda 和 NodeJS 的无服务器应用程序。

我正在考虑使用 Webpack 将我所有的 NodeJS 后端代码捆绑到一个 JavaScript 文件中,并使用 tree shaking 等功能。

根据我对 Node 工作方式的理解,导入(或需要)在运行时被解析。

我担心将所有内容捆绑在一个文件中会影响我的应用程序的性能,因为它总是加载整个 JS 文件,而不是只加载在代码执行期间解析的 JS 文件。对于小型应用程序,影响很小,但随着我的应用程序的增长, bundle 也会如此。

我可以创建多个包,一个用于我的每个 Lambda 函数,但我的问题是:我的担心是否有效?

在纯 NodeJS 上下文中,将所有内容捆绑在一个文件中是否会影响我的性能,即使影响很小?

注意:AWS Lambda 确实支持 ES5,因此仅使用 Webpack 进行转译不是这里的一个因素。

最佳答案

我认为相反,它可以提高 Lambda“预热”期间的性能。

事实上,当 Lambda 被第一次调用或不经常调用时,容器将被初始化,这时 require() 将加载 Node 模块。由于 require() 是异步的并且 can search for files in many places , 有很多文件要加载可能会减慢此调用。

请注意,一旦“预热”完成,模块就会为下一次调用加载,使用单个文件将不再是一个优势。

尝试将 Webpack 与某些不应在浏览器中执行的 Node 模块(例如 ORM)一起使用时可能会遇到一些问题,因为它们可能包含一些动态的 require()(使用作为 require() 参数的变量。


总而言之,与对很多小文件调用 require() 相比,对非常大的文件调用 require() 应该不是什么大问题。但是使用 Webpack 会增加复杂性,如果您的 lambda 不需要经常“预热”,则没有区别。

关于javascript - 后端应用使用 Webpack 会降低性能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42827110/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com