Запустите. json - без сервера - Атрибут программы не существует - PullRequest
2 голосов
/ 25 марта 2020

Я пытаюсь запустить сервер без запуска. json безуспешно (несмотря на то, что он отлично работает из командной строки). Как мне это запустить?

Ошибка:

Атрибут 'program' не существует

Из командной строки VSCode в проекте root это прекрасно работает:

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"]

и получил ту же ошибку.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2020

Serverless ищет в вашем текущем каталоге файл конфигурации и не может его найти.

Глядя на эту строку

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

Похоже, ваша рабочая областьFolder не root проекта. Вы можете изменить, чтобы безсерверный проект был root рабочей области, или изменить cwd (текущий рабочий каталог) при запуске. json, например, следующим образом:

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

Для дальнейшего использования: Имейте в виду, что VSCode предпочитает открывать рабочее пространство в root проекта. Только тогда он по умолчанию знает, как работать со всеми сценариями.

0 голосов
/ 05 апреля 2020
This command can only be run in a Serverless service directory

Похоже, что указан c рабочий каталог. Насколько я могу судить, люди обычно запускают sl в папке своего сайта (папка с node_modules). Я хотел бы рассмотреть возможность установки рабочей папки (в vscode это обычно "cwd") на "$ {workspaceFolder} \\ serverless_site".

Attribute 'program' does not exist

разрешено здесь путем локальной установки узловых модулей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...