Node.js Express-can';t服务静态文件(404错误)

Node.js Express-can';t服务静态文件(404错误),node.js,express,Node.js,Express,我遇到了很多这样的问题,但看起来我并没有做错什么。问题是我无法加载静态文件 文件夹结构: /client index.html /assets /css main.css /server app.js var assetsPath = path.join(__dirname, '../client/assets'); app.use(express.static('assetsPath')); app.get('/', func

我遇到了很多这样的问题,但看起来我并没有做错什么。问题是我无法加载静态文件

文件夹结构:

/client
    index.html
    /assets
        /css
            main.css
/server
    app.js
var assetsPath = path.join(__dirname, '../client/assets');
app.use(express.static('assetsPath'));

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

app.listen(PORT, function () {
    console.log('\nListening on port 8080!');
});
app.js:

/client
    index.html
    /assets
        /css
            main.css
/server
    app.js
var assetsPath = path.join(__dirname, '../client/assets');
app.use(express.static('assetsPath'));

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

app.listen(PORT, function () {
    console.log('\nListening on port 8080!');
});
index.html

<link rel="stylesheet" href="/css/main.css">

然而,当在浏览器中加载页面时,我在
http://localhost:8080/css/main.css

少了什么吗

谢谢大家!


注:使用express^4.13.4和node v5.10.1时,express.static()函数中出现了一个输入错误

var assetsPath = path.join(__dirname, '../client/assets');
app.use(express.static('assetsPath'));
应该是

var assetsPath = path.join(__dirname, '../client/assets');
app.use(express.static(assetsPath));

您的express.static()函数中有一个输入错误

var assetsPath = path.join(__dirname, '../client/assets');
app.use(express.static('assetsPath'));
应该是

var assetsPath = path.join(__dirname, '../client/assets');
app.use(express.static(assetsPath));

express.static
接受静态文件的路径,因此您可以使用以下行进行简化:

app.use(express.static(path.join(__dirname, '../client/assets')));

express.static
接受静态文件的路径,因此您可以使用以下行进行简化:

app.use(express.static(path.join(__dirname, '../client/assets')));

好吧,这就是其中一个时刻。。。谢谢!好吧,这就是其中一个时刻。。。谢谢!