【发布时间】:2015-10-28 13:43:00
【问题描述】:
我曾经在我的 Windows 笔记本电脑中通过 npm 安装了 node 和 express。我将node_modules 文件夹与app.js 放在同一目录中。一切正常,包括尝试提供静态文件。
app.use('/static', express.static(path.join(__dirname, 'public')));
我可以玩这个目录,即使是index.html(如果我打开/static/somedir,则是自动默认页面)和它的style.css。
后来,我尝试将它移到我的 linux vps(已安装节点)上,看看它是什么样子的,它是用 nginx 代理的。
我的所有视图都可以正常工作,但我的 .css 和 .js extension 文件总是返回 404。
【问题讨论】:
-
@JonathanLonowski 你能详细说明一下吗?如图所示,我放置静态文件的完整网址是
mysite:port/static,我在磁盘上的静态文件夹路径是public,我无法从mysite:port/static/somescript.js访问我的public/somescript.js。我很确定这在我的问题中得到了解释。 -
你刚才列出的就是我要问的。而且,鉴于提供的详细信息,它似乎应该按预期工作。这表明还有其他事情在起作用。也许是使用 Nginx。它可以配置为自己提供静态文件,而不是像处理路由一样将它们推迟到您的 Node 应用程序。
标签: javascript node.js express nginx npm