Javascript 路由在node.js和express.js API中不起作用

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'});

我正在尝试分离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'});
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)我有什么可以放置路由器。获取('',控制器)