如何在express中处理角度路线,得到:“ res.sendFile不是函数”

时间:2019-04-22 03:41:18

标签: node.js angular express

我有一个来自角度的应用程序,从节点服务器作为静态文件提供。 如果我从http://localhost:3000开始,一切都会很好,所有角度路线都可以工作。 但是,如果我直接在地址中添加一个带角度的路由(例如:http://localhost:3000/login),或者刷新页面,则会收到错误消息:“ TypeError:res.sendFile不是函数”。

我已经在堆栈溢出中搜索了此位置,但找不到解决此问题的可靠答案。

这是app.js的路线部分:

app.use("/api", commonRoutes);
app.use("/api/auth", authRoutes);

// This returns the static file, but only for http://localhost:3000
app.use((res, req, next) => {
  res.sendFile(path.join(__dirname, "angular", "index.html"));
});

1 个答案:

答案 0 :(得分:2)

您的app.use((res, req, next)参数的顺序错误。尝试

app.use((req, res, next) => {
  res.sendFile(path.join(__dirname, "angular", "index.html"));
});