一尘不染

Express js静态相对父目录

node.js

我目前在通过expressJs提供静态文件方面遇到一些小问题。

我的目录结构如下:

  • 上市
    • 的CSS
    • LIB
  • src
    • 意见
    • index.html
    • server.js

在我的index.html文件中,我在所有资产前面都加了一个斜杠。

我的静态设置如下: app.use(express.static(path.resolve(__dirname + '../' + 'public')));

但是由于某种原因,我的静态文件没有得到提供。

我当时以为这是跨域调用之类的…我目前正在使用cloud9 IDE,这可能与它有某种关系吗?


阅读 254

收藏
2020-07-07

共1个答案

一尘不染

您应该使用path.join而不是手动连接路径组件。它使用path.normalize来解析...处理多个斜杠或尾部斜杠,并为您的平台使用适当的文件分隔符(请参阅:path.sep)。

例如,

var path = require('path');

var express = require('express');

var app = express();

app.use(express.static(path.join(__dirname, '../public')));
2020-07-07