Прогуливаясь по this tutorial, я столкнулся с проблемой, когда методы маршрутизатора не будут работать. Используя npm start
и доступ к localhost: 3000/api/щенки получает ошибку 404. Однако, когда я изменилЭкспресс router.get не работает, но app.get работает
var router = express.Router();
router.get('/api/puppies', db.getAllPuppies);
в
var app = express();
app.get('/api/puppies', db.getAllPuppies);
и бежать с node index.js
, печатает данные, как и ожидалось. Я попытался также поставить в начале своего файла
app.use(express.static(__dirname + '/api/'));
но без радости. Это как-то связано с npm start
? В какой-то момент я буквально копировал/вставлял код из учебника, и все же получаю 404.
Так что 'app.use ('/ api', маршрутизатор); router.get ('/ api/щенки', db.getAllPuppies); 'кажется, имеет смысл. Однако я все еще получаю 404. – 1252748
@ 1252748 - Нет. Вы регистрируете обработчики URL-адресов для '/ api/api/щенков'. Удалите одну из спецификаций '/ api'. FYI, код, о котором идет речь, из этого учебника находится здесь: https://github.com/mjhea0/node-postgres-promises/blob/master/app.js#L24. В учебнике используется 'app.use ('/', routes);'. – jfriend00
Хм. Он немного усложнил ситуацию. Тогда ваше предложение следующее: 'app.use ('/ api', router); router.get ('/ puppies', db.getAllPuppies); 'Это та же ошибка. – 1252748