Javascript 路由在node.js和express.js API中不起作用
我正在尝试分离node.js服务器到文件夹的路由。但它不起作用 运行服务器时,Javascript 路由在node.js和express.js API中不起作用,javascript,node.js,express,Javascript,Node.js,Express,我正在尝试分离node.js服务器到文件夹的路由。但它不起作用 运行服务器时,console.log('hello from express')未打印。另外,res.send()也不会执行 routes/index.js const express=require('express'); const router=express.router(); router.get('/api/hello',(req,res)=>{ log({express:'Hello From express'});
console.log('hello from express')
未打印。另外,res.send()
也不会执行
routes/index.js
const express=require('express');
const router=express.router();
router.get('/api/hello',(req,res)=>{
log({express:'Hello From express'});
res.send({express:'Hello From express'});
});
module.exports=路由器;
和server.js
var indexRoute=require('./routes/index.js');
app.use('/api/hello',indexRoute);
我怎样才能解决这个问题?
提前感谢。更改代码:
const express=require('express');
const router=express.router();
路由器.get(“/”,(请求,res)=>{
log({express:'Hello From express'});
res.send({express:'Hello From express'});
});
module.exports=路由器;
此代码是关于当用户点击您在中指定的路线时要执行的操作:
app.use('/api/hello',indexRoute);
因此,您的路线只能在/api/hello
让我们看一个例子:
const express=require('express');
const router=express.router();
路由器.get('/hello',(req,res)=>{
res.send({express:'Hello From express'});
});
路由器.get(“/再见”,(请求,回复)=>{
res.send({express:'从express再见'});
});
module.exports=路由器;
此路由处理程序现在定义为处理[URL]/hello
和[URL]/bye
因此,让我们将其连接到网站的url[site]/greeting/
:
app.use('/greeting',indexRoute);
现在在我们的网站上,我们有两条路线[site]/greeting/hello
和[site]/greeting/bye
更改您的代码:
const express=require('express');
const router=express.router();
路由器.get(“/”,(请求,res)=>{
log({express:'Hello From express'});
res.send({express:'Hello From express'});
});
module.exports=路由器;
此代码是关于当用户点击您在中指定的路线时要执行的操作:
app.use('/api/hello',indexRoute);
因此,您的路线只能在/api/hello
让我们看一个例子:
const express=require('express');
const router=express.router();
路由器.get('/hello',(req,res)=>{
res.send({express:'Hello From express'});
});
路由器.get(“/再见”,(请求,回复)=>{
res.send({express:'从express再见'});
});
module.exports=路由器;
此路由处理程序现在定义为处理[URL]/hello
和[URL]/bye
因此,让我们将其连接到网站的url[site]/greeting/
:
app.use('/greeting',indexRoute);
现在在我们的网站上,我们有两条路线
[site]/greeting/hello
和[site]/greeting/bye
什么不起作用?您遇到的确切问题是什么?当我运行服务器时,console.log(“hello from express”)未打印。还有res.send()没有执行好吧,我想你是糊涂了。当前您必须键入/api/hello/api/hello
,代码才能执行任何操作。问题是您在server.js和路由器文件中复制了路径。删除路由器路径写入路由器。获取('/',控制器)
。这意味着该控制器路径是从父路径路由的。在这种情况下,在/api/hello
中定义的。在您当前的代码中,访问:/api/hello/api/hello
应该可以工作。在我的更改之后,您将能够使用/api/hello
访问。好的,这是工作。但是我有另一条路线。发布('/api/world)我有什么放置路由器。获取('',控制器)什么不工作?您遇到的确切问题是什么?当我运行服务器时,console.log(“hello from express”)未打印。还有res.send()没有执行好吧,我想你是糊涂了。当前您必须键入/api/hello/api/hello
,代码才能执行任何操作。问题是您在server.js和路由器文件中复制了路径。删除路由器路径写入路由器。获取('/',控制器)
。这意味着该控制器路径是从父路径路由的。在这种情况下,在/api/hello
中定义的。在您当前的代码中,访问:/api/hello/api/hello
应该可以工作。在我的更改之后,您将能够使用/api/hello
访问。好的,这项工作。但是我是否有另一条路由。发布('/api/world)我有什么可以放置路由器。获取('',控制器)