我是 node 和 express js 的新手。今天我正在学习,我已经将 node server 初始化为:
const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const PORT = 3000
const api=require('./routes/api')
const app = express()
app.use(bodyParser.json())
app.use(cors())
api.use('/api',api)
app.get('/', function(req, res) {
res.send('Hello from server')
})
app.listen(PORT, function(){
console.log("Server running on localhost:" + PORT)
});
我在 server 文件夹中创建了一个文件夹 routes 并且有 api.js 文件,其中有 GET测试 API 是否正常工作的方法。在 api.js 我有,
const express = require('express')
const router=express.Router()
router.get('/', (req, res) => {
res.send('from Api Route');
})
module.exports=router
我输入 node server
它显示我:
Server running on localhost:3000
但是,当我尝试获取 url 时: http://localhost:3000/api ,它正在显示我:
并且,在箭头函数 sublime 的 api.js 文件中,红色标记显示错误为:
最佳答案
将 api.use('/api',api)
替换为 app.use('/api',api)
关于javascript - Node.js 无法检测到 Get 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57595285/