【问题标题】:OpenShift unable to find css and js filesOpenShift 找不到 css 和 js 文件
【发布时间】:2015-10-18 19:00:02
【问题描述】:

运行我的 openshift 应用程序时,没有加载任何 CSS 或 javescript 文件。

我已经在server.js中指定了目录:

app.use(express.static(__dirname));

在 index.html 中我指定了文件夹的位置:

<link rel="stylesheet" href="style.css" type="text/css" media="screen">
<script src = "controllers/controller.js"></script>

文件夹结构如下:

mytest
├── README.md
├── controllers
│   └── controller.js
├── deplist.txt
├── index.html
├── node_modules
├── package.json
├── server.js
└── style.css

当我打开网站并在 chrome 中打开开发者控制台时,出现以下错误:

http://mytest-jamestreasure.rhcloud.com/controller.js 404 Not Found

http://mytest-jamestreasure.rhcloud.com/controllers/controller.js 404 Not Found

我不知道还有什么需要添加的。

链接到我的 openshift:http://mytest-jamestreasure.rhcloud.com/

【问题讨论】:

    标签: javascript html css openshift openshift-client-tools


    【解决方案1】:

    您定义静态内容访问的构造似乎是正确的。不过,请确保您将它与您的应用上下文一起使用,例如:

    myApp.app.use(express.static(__dirname));
    

    尝试运行 server.js 或使用 rhc tail mytest 检查 OpenShift 远程日志时,可能会在本地发现此类问题。


    我还建议为打算公开使用的静态内容使用专用目录,而不是公开所有内容:

    app.use(express.static(__dirname + '/public'));
    

    【讨论】:

      【解决方案2】:

      问题是因为我忽略了以下警告:

      Warning: express.createServer() is deprecated, express
      applications no longer inherit from http.Server,
      please use:
        var express = require("express");
        var app = express();
      

      这意味着我必须改变:

      self.app = express.createServer();

      到:

      self.app = app;

      这是在self.initialise = function()

      【讨论】:

      • 您确实意识到您不再遇到最初发布的问题?您上次没有正确包含 JS 文件,已修复它,现在正在回答一个完全不同的问题。这不是您自己问题的远程答案。您基本上是在说您错误地制作的函数在您的两个 JS 文件上创建了 404 错误。
      • 我发布的内容确实解决了我的错误。我在本地启动了我的服务器,而不是仅仅收到我发布的警告,我忽略了它,它抛出了一个错误并且没有启动。修复这个错误确实让它找到了我的 js 和 css 文件,因为我没有改变其他任何东西。
      • @JaAnTr,警告没有引起问题。您可以通过在server.js 上还原您的更改并尝试我的建议来验证这一点。您似乎正在使用 OpenShift 上的 node.js 插件随附的 server.js 文件的默认内容 - 如果是这样,只需在主代码部分(文件的最后一行)中使用此 zapp.app.use(express.static(__dirname));,保留其余内容未更改,您仍应收到警告,但文件将可以按您的预期访问(例如,即使 server.js 也可以在您的应用程序的 URL 上公开访问)。
      猜你喜欢
      • 2013-03-22
      • 2017-08-03
      • 2014-08-15
      • 1970-01-01
      • 2015-04-09
      • 2021-05-31
      • 1970-01-01
      • 2013-04-12
      • 2021-01-23
      相关资源
      最近更新 更多