Node.js:子页面找不到公共静态文件夹

Gre*_*ton 3 javascript node.js express

我正在Node.js和Express中编写一个webapp.我的子页面(例如/reflection/id)找不到我的静态文件夹.而不是找/stylesheets,/javascripts等(这将被重定向到/public/stylesheets,等等),它是在子页面中进行搜索,即/reflection/stylesheets.

您可以转到Heroku页面(也在下面链接)并查看开发人员控制台,您将看到它正在搜索错误的路径.

我怀疑问题存在于我的app.js(链接)中,可能在第24行:

app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

知道发生了什么事吗?我没有正确地声明静态路径吗?任何见解都表示赞赏.

关于Git的项目:https://github.com/gredelston/every6

Heroku部署,相关页面:http://every6.herokuapp.com/reflection/test

log*_*yth 7

您需要使用绝对URL

<link rel="stylesheet" type="text/css" href="/stylesheets/main.css">
Run Code Online (Sandbox Code Playgroud)

代替

<link rel="stylesheet" type="text/css" href="stylesheets/main.css">
Run Code Online (Sandbox Code Playgroud)

否则,浏览器会尝试stylesheets相对于您正在查看的当前URL 加载.