Настройка VS Code

Учим IDE правильно запускать и дебажить, чтобы пацаны во дворе уважали.

Несмотря на то, что VS Code и сейчас сможет запускать и дебажить наш проект, мы научим его без лишних вопросов запускать проект нажатием F5, сделаем горячую перезагрузку и проверку на ошибки с помощью eslint. Также в этом конфигурационном файле будем хранить env. В первую очередь установим nodemon и eslint:

NPM:

npm i -g nodemon eslint

YARN:

yarn add -g nodemon eslint

Для того чтоб научить vscode запускать наш api через nodemon создадим конфигурационный файл: 1. Создадим папку .vscode в корне нашего проекта. 2. Создаем файл launch.json в папке. 3. Вставляем код в файл:

{
    "version": "1.0.0",
    "configurations": [
        {
            "console": "internalConsole",
            "internalConsoleOptions": "neverOpen",
            "name": "nodemon",
            "program": "${workspaceFolder}/index.js",
            "request": "launch",
            "restart": true,
            "runtimeExecutable": "nodemon",
            "skipFiles": [
                "<node_internals>/**",
                "${workspaceFolder}/node_modules/**",
                "${workspaceFolder}/log/**"
            ],
            "type": "pwa-node",
            "env": {
                "NODE_ENV": "development",
                "NODE_PATH": "${workspaceRoot}/lib",
                "PORT": "18301",
                "IP": "0.0.0.0",
            }
        }
    ]
}

Теперь нам нужно создать маленький конфигурационныe файлы для nodemon и eslint: Создаем файл nodemon.json в корне проекта:

{
    "exec": "eslint . && node"
}

И так же для eslint вводим в консоль:

eslint init

После чего отвечаем на все вопросы в соответствии с JS или TS мы будем работать и тд. При нажатии на F5 мы будем запускать nodemon, который реализует горячую перезагрузку, далее запускается eslint и если ошибок не обнаружено то уже запускается сам проект. Немного костыльно, но это vscode =) Как аналог приведенного варианта мы можем в package.json добавить scripts:

***
"scripts": {
    "dev": "nodemon --exec \"eslint . && node index.js\"",
    "start": "node index.js"
}
***

Результат аналогичен, но тут для запуска нам нужно будет писать npm run dev ... а я слишком ленив для этого =)

Last updated

Was this helpful?