Я пытаюсь отладить VS Code. У меня есть простое приложение
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var morgan = require('morgan');
app.use(morgan('dev'))
app.use(express.static('client'));
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
var lions = [];
app.get('/lions', function(req, res){
res.json(lions);
});
var port = 3001;
app.listen(port);
console.info('on port ' + port);
когда я запускаю свой сервер с терминала, я получаю нормальный вывод, и все работает нормально.
PS > node .\server\server.js
on port 3001
GET / 200 5.557 ms - 1013
GET /style.css 200 1.908 ms - 10107
GET /app.js 200 2.584 ms - 61761
GET /lions 200 2.785 ms - 2
Мне обслуживают все мои файлы, и мое приложение работает.
как только я пытаюсь отладить свое приложение (F5), вывод консоли
C:\Program Files\nodejs\node.exe --inspect-brk=15065 api-design-node\server\server.js
Debugger listening on ws://127.0.0.1:15065/9339408e-bf15-475f-8add-767309dc82f5
on port 3001
ничего больше.
и когда я указываю в браузере на localhost: 3001, я получаю
Cannot GET /





Это приложение возникает только потому, что в вашем экспресс-приложении нет маршрута, соответствующего GET /, попробуйте добавить
app.get('/', (req, res) => res.end('hello'))
в свой код (или попробуйте перейти на /lions в браузере).
Надеюсь, поможет.
но я попытался добавить то, что вы рекомендовали, я получаю следующую ошибку в браузере: TypeError: res.end не является функцией, аналогичной res.send ()
Этот код мне помог
const path = require('path');
app.use(express.static(path.join(__dirname, "client")));
path.join создаст абсолютный путь для статического файла.
Похоже, код VS работает в другой среде
привет, маршрут '/' должен обрабатываться express.static ('client'). по крайней мере, он работает при запуске вручную с использованием «node server / server.js».