express - Angular2错误:ENOENT:刷新时没有这样的文件或目录

时间:2016-05-06 17:50:09

标签: javascript express

我有一个公共文件夹,我在其中放置了一个angular2应用程序。现在我正在尝试使用总是返回index.html的catchall路由来设置快速服务器。要明确 - 根据this question,我需要将所有路线映射到index.html。

如果我访问基本服务器URL(localhost:10001),一切都按预期工作。但是当我去一条路线(让我们说localhost:10001 /登陆),并刷新页面时,我收到以下错误:

  

错误:ENOENT:没有这样的文件或目录,stat   “/Users/shooshte/express-test/index.html”错误(原生)

这是我的服务器配置:

var express = require('express');
var static = require('serve-static');
var server = express();

// middleware
server.use(express.static(__dirname + '/public'));

// routes
server.use('*', function (req, res) {
  res.sendFile(__dirname + '/index.html');
});

var port = 10001;
server.listen(port, function() {
  console.log('server listening on port ' + port);
});

我做错了什么?

2 个答案:

答案 0 :(得分:1)

您错过了public路径中的index.html目录:

 res.sendFile(__dirname + '/public/index.html');

答案 1 :(得分:0)

我认为你没有公共或根文件夹中的index.html / Users / shooshte / express-test /

这是您收到此错误的唯一原因