【问题标题】:Cannot GET /test.html when running Node.js server运行 Node.js 服务器时无法获取 /test.html
【发布时间】:2014-08-22 23:56:12
【问题描述】:

我开始阅读 Pro AngularJS。在设置开发环境的部分中,我创建了一个 angularjs 目录并将 test.html 文件放入其中。在该文件夹之外,我为 Node.js 安装了“connect”和“serve-static”。我还创建了一个 server.js 文件。内容如下:

var connect = require('connect');
var app = connect().use(connect.static('/angularjs'));
app.listen(5000);

访问以下 URL http://localhost:5000/test.html 时,我看到的只是文本“Cannot GET /test.html”。

我在 SO 上查看了 thisthis 问题。没有一个解决方案对我有帮助。

【问题讨论】:

    标签: javascript node.js angularjs


    【解决方案1】:

    这本书并没有很好地描述我记得的 server.js 的放置位置。所以我将它放在 angularjs 文件夹上方的一个文件夹中。因此,需要删除“..”。我犯了在“/”中留下的错误,这导致了我的问题。就像我想的那样……一个愚蠢的小错误(最难找到)。

    【讨论】:

    • 这本书真的是一个错误。在过去的两个小时里,我也在努力解决这个错误。首先是连接模块中的静态问题,然后是这个。无论如何感谢您的回答
    • 天哪!你让我在找出问题所在时省了很多麻烦。
    【解决方案2】:

    首先,确保您的../angularjs 文件夹包含test.html 文件?

    然后,你可以尝试解析路径

    var connect = require('connect');
    var path = require('path');
    var app = connect().use(connect.static(path.resolve(__dirname, '..', 'angularjs')));
    app.listen(5000);
    

    【讨论】:

    • '../angularjs' 将是 server.js 和 'angularjs' 目录中的一个目录。那里确实存在 test.html 文件
    【解决方案3】:

    而不是 var app = connect().use(connect.static('/angularjs'));

    使用

    var app = connect().use(connect.static('./angularjs'));

    它对我有用

    【讨论】:

    【解决方案4】:

    下面为我解决了。

    var connect=require('connect'),
        serveStatic=require('serve-static');
    
    var path = require('path');
    var server=connect();
    
    server.use(serveStatic(path.resolve(__dirname, '..', 'angularjs')));
    
    server.listen(5000);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      • 2013-10-19
      • 2013-05-18
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      相关资源
      最近更新 更多