如何在路由深层目录路径时在ExpressJS中提供静态文件?

时间:2016-07-06 00:46:42

标签: node.js express routing static-files

我猜这个标题可能令人困惑。我不知道如何说出来,但我说我的目录如下:

/
   app.js
   /static
      /styles
         main.css
   /views
      index.html
      /files
         1.html
         2.html

如果我提供1.html并且在其中,我有一个css文件

<link rel="stylesheet" type="text/css" href="static/styles/main.css">

这不会加载css文件。它在我假设的索引页面上工作正常,因为它直接位于views文件夹中。因为我试图访问文件夹中的某些内容,所以它无法正常工作。有人能指出我正确的方向吗?

另请注意我已设置

server.set('views', __dirname + '/views')

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

1 个答案:

答案 0 :(得分:1)

尝试从href属性中删除static

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

将服务配置的静态文件更改为

server.use(express.static(path.join(__dirname, 'static')));