【问题标题】:Node/Express Cannot Open CSS or JS FilesNode/Express 无法打开 CSS 或 JS 文件
【发布时间】: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


【解决方案1】:

我在 nginx 中编辑了我的 /sites-available/default 配置以接管静态文件

server {
    listen 80;

    server_name mysite;

    location / {
        proxy_pass http://myip:myport;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04找到的解决方案

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-01
    • 2013-06-08
    • 2014-05-31
    • 1970-01-01
    • 2019-09-11
    • 1970-01-01
    • 1970-01-01
    • 2015-08-17
    相关资源
    最近更新 更多