问题描述
我使用无服务器为AWS Lambda创建了一个简单的邮件功能。为了进行开发,我使用无服务器脱机来复制Lambda的功能,并使用VSCode作为我的IDE。我还使用serverless-webpack生成结果代码。
在VSCode中的代码中设置断点时,它们会被挖空并标记为“未绑定”,并且不会触发,但是当我插入debugger;
语句时,执行会暂停。 (作为附带说明,执行会以debugger;
暂停,并将我放置在我的源文件中-而不是在我的结果文件中-不确定为什么这是-webpack魔术吗?我在此处未设置任何sourcemap,这可能是此问题的一部分但真的不确定)
我用于VSCode启动我的serverless-offline调试实例的launch.json配置是:
{
"name": "serverless","type": "node","request": "launch","cwd": "${workspaceFolder}/serverless","runtimeExecutable": "/home/me/.nvm/versions/node/v14.7.0/bin/npm","runtimeArgs": [
"run","debug"
],"port": 9229
}
触发的npm脚本是:
"debug": "export SLS_DEBUG=* && node --lazy ./node_modules/.bin/serverless offline -s dev"
serverless-webpack使用的配置(纯粹是为了注入一些环境变量)是:
const slsw = require('serverless-webpack');
const Dotenv = require('dotenv-webpack');
const path = require('path');
const stage = slsw.lib.options.stage == 'prod' ? 'production' : 'development'
module.exports = {
mode: stage,entry: slsw.lib.entries,target: 'node',plugins: [
new Dotenv({
path: path.resolve(__dirname,'../.env.'.concat(stage)),safe: false,allowEmptyValues: false,silent: false
})
]
}
任何帮助表示赞赏!只是想知道如何使用常规断点正常调试它,而不必在我要检查正在运行的代码时依赖插入debugger;
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)