微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用VSCode调试无服务者离线功能-源地图问题?

如何解决使用VSCode调试无服务者离线功能-源地图问题?

我使用无服务器为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 举报,一经查实,本站将立刻删除。