【问题标题】:using files with express server通过快速服务器使用文件
【发布时间】:2016-09-17 15:34:17
【问题描述】:
var express = require('express'),
    app = express(),
    db = require('./db'),
    bodyParser = require('body-parser'),
    controller = require('./controller');


app.use(express.static('../public'));

app.get('/server', function (req, res) {
  console.log(__dirname);
    res.sendFile('/../client/index.html');
});

我已经设置了这个快速服务器,但是使用上面的代码,当我查看 localhost:portnumber 时,我得到“Cannot GET /”。如果我将 GET 方法更改为:

app.get('/', function(req, res) {
  res.sendFile(__dirname + '../client/index.html');
});

我得到“'C:\Users\TC\Documents\Desktop\myapp\multiplayerWebSite\server..\client\index.html' at Error (native)”,如果我将其更改为:

app.get('/', function(req, res) {
  res.sendFile('../client/index.html');
});

我收到“TypeError:路径必须是绝对路径或指定 res.sendFile 的根目录” 错误:ENOENT:没有这样的文件或目录

当我在根目录中拥有所有内容时,服务器运行良好,但我想更改文件夹结构以使其更加整洁/专业。如果有人能告诉我我做错了什么,我将不胜感激。提前谢谢!

【问题讨论】:

    标签: javascript node.js express


    【解决方案1】:

    您可以使用路径模块,有一种连接方法可以采用多条路径来制作一个。

    如果你这样做的例子:

    path.join('test/musicfolder', '../videofolder/allreadyseen')
    

    你会得到'test/videofolder/allreadyseen'

    您可以在此处查看所有文档:https://nodejs.org/api/path.html

    var express = require('express'),
        path = require('path'),
        app = express(),
        db = require('./db'),
        bodyParser = require('body-parser'),
        controller = require('./controller');
    
    
    app.use(express.static(path.join(__dirname, '../public')));
    
    app.get('/server', function (req, res) {
      console.log(__dirname);
        res.sendFile(path.join(__dirname, '../client/index.html'));
    });
    

    【讨论】:

    • 非常感谢;它现在正在使用我的 html 文件,但是静态文件呢?它不适用于我存储在 ../public/css 中的 css 文件
    • 如果你想了解它在做什么,也可以使用 path.join 并查看我的示例
    • 我已经阅读了 path.join 文档,但它并没有帮助我处理静态文件。使用 path.join(__dirname, '../public') 不起作用。 path.join(__dirname, '../public/css') 也不是,即使我将 '/styles.css' 附加到文件路径。我讨厌一直寻求帮助。
    • 如果这能让我不那么烦人,我会不断尝试修复它。我不只是在等待有人给我答案。
    • 你能创建一个文件夹树吗?这样我就可以看到如何使用路径
    猜你喜欢
    • 2020-03-15
    • 1970-01-01
    • 1970-01-01
    • 2021-07-01
    • 2016-06-06
    • 1970-01-01
    • 1970-01-01
    • 2018-04-17
    • 2018-05-14
    相关资源
    最近更新 更多