在浏览this tutorial时,我遇到了路由器方法不起作用的问题。使用npm start
并访问localhost:3000 / api / puppies会收到404错误。但是当我改变了
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。
答案 0 :(得分:1)
路由器必须连接到您的快速应用才能成为服务器的一部分。
app.use(yourRouter);
或者更常见的是,路径将路由器的影响隔离到仅以特定路径开头的URL,并且路由器自己的URL与此路径相关:
app.use('/somePath', yourRouter);
如果没有这个,它只是一个声明和配置的路由器,没有连接到任何服务器。
快速文档examples here。
您引用的教程似乎没有显示使用路由器的这一部分。