OpenShift无法找到css和js文件

时间:2015-10-18 19:00:03

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

运行我的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/

2 个答案:

答案 0 :(得分:1)

用于定义静态内容访问的构造似乎是正确的。请确保您在应用程序上下文中使用它,例如:

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

尝试运行server.js或使用rhc tail mytest检查OpenShift远程日志时,可以在本地显示此问题。

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

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

答案 1 :(得分:0)

问题是由于以下警告,我忽略了这一点:

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()