express - 不知道如何让快速路由工作
问题描述
我有一个index.js
包含以下代码的文件...
const express = require('express');
const app = express();
app.use(express.json({ extended: false }));
app.use('/api/users/', require('./users/routes'));
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server started on PORT ${PORT}`));
以及routes.js
带有以下代码的文件...
const express = require('express');
const router = express.Router();
router.get('test', (req, res) => {
console.log('im here!')
res.send('hello from test route!');
});
module.exports = router;
我的文件结构是...
server/
users/
routes.js
index.js
我可以毫无问题地启动服务器,但是,如果我尝试前往该路线/api/users/test
,它不起作用并说无法获得该路线。
出于某种原因,当我创建带有.js
扩展名的文件时,.jsx
会出现一个图标。我正在使用 vscode 并且觉得这可能是问题但我不知道如何解决它?
作为我的路线文件中的更新...
router.get('test', (req, res) => {});
需要改成以下...
router.get('/test', (req, res) => {});
在我的index.js
文件中
app.use('/api/users', require('./users/routes'));
基本上,在测试之前添加斜线并在用户之后删除斜线。
我不知道为什么这会是一个问题,但它现在可以工作了。
解决方案
在 routes.js 中:
router
.get ('/test',(req, res) => {
console.log('im here!')
res.send('hello from test route!');
});
您只是忘记了路线前面的斜线。您现在应该看到您的响应 @ http://localhost:5000/api/users/test。
推荐阅读
- html - 引导导航栏下拉悬停故障
- node.js - 在 ubuntu 上安装 npm 模块给我一个错误
- libgdx - RayHandler 不适合 Box2D 世界
- caching - 如何刷新 Chrome
- linux - ELF中“.note.ABI-tag”部分的意义是什么?
- android - 如何制作一个从mysql数据库下载动态表单并在填写后上传记录的android应用程序?
- scala - Scala 自定义集合无法在理解中选择正确的映射函数
- javascript - 如何将 xlink:href 绘制到画布上
- c++ - 使用 C++ 在 windows 下获取硬盘驱动器性能
- javascript - 如何在反应中使用json文件进行分页?