问题标签 [serverless-webpack-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何为多运行时 AWS Lambda 服务设置 serverless.yml 和 webpack.config
我想从一个 serverless.yml 文件部署具有 Node8.10 和 Ruby2.5 运行时的 AWS Lambda 函数。
我设置了以下文件夹结构,其中 /node 和 /ruby 分别保存了我的处理程序。
这是我的 serverless.yml
我的 webpack 配置:(这是基本示例,当我遇到第一个错误时,我只是添加了忽略 ruby 文件的位。)
失败#0: [Webpack 编译错误] 模块解析失败
失败#1: 基本上,webpack 假设所有函数都是 .js 并尝试将它们打包。根据这个建议,我强制我在 webpack 配置中的入口点是我的 handler.js
这仅打包 Node Lambda。在 AWS 上创建 Ruby Lambda 的空占位符。
失败 #2: 我从 serverless.yml 中注释掉了 webpack,并在函数包选项中添加了 include 和 exclude 语句。
这会得到 node/node_modules/@babel/core/node_modules/.bin/parser 的 [ENOENT: no such file or directory]。该文件不存在,但我不明白它为什么要查找它,因为没有调用 webpack。
有点成功?: 如果我注释掉 webpack 并使用,我就能部署 Lambdas
部署 Ruby Lambda,然后取消注释 webpack 并使用相同的东西来部署 Node Lambda。
我相信有更好的方法让他们部署;我是否错过了设置中的某些内容?还有其他我没有尝试过的选择吗?
PS 我确实看到了这个拉取请求https://github.com/serverless-heaven/serverless-webpack/pull/256,但它似乎自 2017 年以来就被放弃了。
node.js - 如何让 serverless-webpack 与 babel.v8 一起使用来解决 - 错误:插件/预设文件不允许导出对象,只能导出函数?
什么地方出了错?
Babel 从 7.x 迁移到 8.x 节点从 8.x 迁移到 10.x
你用的是什么配置?
将 .babelrc 中的目标从 8.10 更改为 10.14.1 将 serverless.yml 中的运行时从 8.10 更改为运行时:nodejs10.14.1
您看到了来自您的提供商的哪些堆栈跟踪或错误消息?
这是我的.babelrc
文件中的内容:
这是我的依赖项package.json
:
你怎么看?如果可能的话,我真的很想保持最新状态并使用最新版本的 babel。有人知道 serverless-webpack 是否支持 babel.v8 吗?
如果是这样,考虑到上述信息,我怎样才能让他们一起工作?
谢谢!
serverless-framework - webpack: configuration.entry 应该是一个非空对象
serverless deploy
使用最新的 webpack 版本抛出此错误。
webpack.config.js
包.json
这里有一些相关的东西:https ://github.com/serverless-heaven/serverless-webpack/issues/372
serverless.yml 是非常标准的,并且可以使用较旧的 webpack 版本。不是这里的 webpack 专家,非常感谢任何帮助。
node.js - 使用 serverless-webpack 在无服务器部署期间使用现有的 node_modules
我正在使用serverless
体系结构开发节点应用程序。我们正在使用serverless-webpack
插件来构建应用程序。这里是webpack.config.js
这是serverless.yml
文件:
当我运行sls deploy --config serverless.yml
部署应用程序时,一切正常,并且 lambda 已成功部署。唯一的问题是,在部署过程中,它正在使用package-lock.json
并再次安装使用过的包:
我的问题是如何在部署期间停止重新运行 npm install ,而不是node_moudles
在打包外部模块时使用现有的。任何人都可以帮我解决这个问题。?
webpack - 使用 VSCode 调试无服务器离线功能 - 源映射问题?
我使用无服务器为 AWS Lambda 创建了一个简单的邮件函数。对于开发,我使用 serverless-offline 来复制 Lambda 的功能并使用 VSCode 作为我的 IDE。我也在使用 serverless-webpack 来生成我的结果代码。
在 VSCode 中的代码中设置断点时,它们被挖空并被标记为“未绑定”并且不会触发,但是当我插入debugger;
语句时,执行会按原样停止。(作为旁注,执行停止debugger;
并将我放在我的源文件中 - 不是我的结果文件 - 不确定这是为什么 - webpack 魔术?我在这里没有设置源映射,这可能是这里问题的一部分,但真的不确定)
我的 VSCode 启动我的无服务器离线调试实例的 launch.json 配置是:
触发的 npm 脚本是:
serverless-webpack 使用的配置(纯粹是为了让我可以注入一些环境变量)是:
任何帮助表示赞赏!只是想知道如何使用常规断点正常调试它,而不必依赖插入debugger;
我想检查正在运行的代码的任何地方。
serverless-framework - Serverless Webpack 在 ZIP 包中生成空文件
Serverless + Webpack 在.serverless/<package>.zip
.
配置
serverless.yml
webpack.config.js
附加数据
- 无服务器-Webpack 版本:“无服务器-webpack”:“^5.3.5”,
- Webpack 版本:“webpack”:“4.44.2”,
- 无服务器框架版本:1.83.2
- 操作系统:MacOS
我也尝试过其他版本组合:Serverless 2.20、webpack 5.17.0、copy-webpack-plugin 7.0.0
为什么在 ZIP 中为空文件?
更新:
我刚刚尝试在具有相同结果的示例项目sls package
之一中运行ZIP 中的空文件。
webpack - 使用 serverless-bundle 插件时如何将 keepOutputDirectory 设置为 true
serverless-bundle
插件似乎没有覆盖的选项keepOutputDirectory:true
。默认情况下,它会在 sls deploy 命令中被删除。
我们如何在部署后保留.webpack
文件夹.js
和jsmap
文件,因为我们需要它能够使用 thundra 进行远程调试。
并如此处指定:https : //apm.docs.thundra.io/node.js/online-debugging 它询问 js 和 js 以及 jsmap 文件所在的路径,以防使用 typescript
node.js - 无服务器打字稿错误:TypeError:无法读取 null 的属性“1”
Serverless-Webpack Typescript 错误“serverless-webpack”错误。
出现错误:类型错误------------------------------
TypeError:无法读取 null 的属性“1”
Stack - 使用 Typescript、Node.js 和 AWS Lambda 的无服务器后端
对我当前的堆栈使用 serverless-webpack 包,它一直工作到最后一天,突然停止工作并低于错误。尝试降级 serverless-webpack 的版本,但仍然出现错误。
node.js - 迁移到无服务器 webpack 后如何解决错误消息“解压后的大小必须小于 262144000”
迁移到无服务器 webpack 后,我的 lambda 出现大小限制错误!我已经迁移到 webpack 来解决这个问题,所以如果我仍然遇到同样的错误,那是不对的,请参阅下面的错误消息。
非常感谢!!
错误信息
发生错误:MainLambdaFunction - 资源处理程序返回消息:“解压缩大小必须小于 262144000 字节(服务:Lambda,状态代码:400,请求 ID:...,扩展请求 ID:null)”(RequestToken:... ,处理程序错误代码:无效请求)。
serverless.yml 配置
lambda 正在使用节点,所以我package.json
的包含在下面以供参考。
包.json 文件