launch.json-serverless-属性程序不存在



我正试图从launch.json启动serverless,但运气不佳(尽管它在命令行中运行得很好(。如何启动此功能?

错误:

属性"program"不存在

从项目根目录中的VSCode命令行来看,这非常有效:

sls deploy --config slsSite.yml

这是我当前的发布配置:

{
"type": "node",
"request": "launch",
"name": "deploy site",
"preLaunchTask": "buildsite", //ref tasks.json
"program": "${workspaceFolder}\serverless",
"args": ["deploy", "--config slsSite.yml"]
}

当我将程序更改为节点模块的路径时:

"program":"${workspaceFolder}\serverless_site\node_modules\serverless\bin\serverless

我得到:

此命令只能在无服务器服务目录中运行。如果您使用自定义配置文件,请确保在当前工作目录中引用有效的配置文件

然后我尝试了(除了上面的程序行(:

"args": ["deploy", "--config ${workspaceFolder}\slsSite.yml"]

得到了同样的错误。

This command can only be run in a Serverless service directory

看起来需要特定的工作目录。据我所知,人们通常在他们的站点文件夹(包含node_modules的文件夹(中运行sls。我会考虑尝试将工作文件夹(在vscode中通常为"cwd"(设置为"${workspaceFolder}\\serverless_site"。

Attribute 'program' does not exist

已通过在本地安装节点模块在此处解决。

Serverless正在您的当前目录中查找配置文件,但找不到。

看看这条线

"program":"${workspaceFolder}\serverless_site\node_modules\serverless\bin\serverless

看起来您的workspaceFolder不是项目的根目录。您可以更改Serverless项目是工作区的根,或者更改launch.json中的cwd(当前工作目录(,如下所示:

"cwd": "${workspaceFolder}\serverless_site",

供将来参考:请记住,VSCode更喜欢打开项目根目录下的工作区。只有到那时,它才知道默认情况下如何使用所有脚本。

相关内容

最新更新