我已经在OpenShift上部署了一个提供静态页面的简单NodeJS应用程序。
我的server.js源代码如下所示-
var express = require('express');
var path = require('path');
var app = express();
var ip = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080;
//Creating static route for index.html resources @ /static/img
app.use('/img', express.static(__dirname + '/static/img'));
//GET for index.html
app.get('/', function(req, res) {
res.sendFile(path.join(__dirname + '/static/index.html'));
});
app.listen(port, ip, function() {
console.log((new Date()) + ": Server is running on port 8080");
});this的<head>中的脚本如下所示
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href="http://pingendo.github.io/pingendo-bootstrap/themes/default/bootstrap.css" rel="stylesheet" type="text/css">这在我的本地系统上完全可以正常运行,但是不知何故,JS/CSS似乎没有加载到OpenShift应用程序中。没有我正在使用的本地CSS文件-所有内容都是由head脚本拉取的。调试日志也没有显示任何异常,我的想法也快用完了。
发布于 2015-09-29 17:04:45
我发现答案就在这里:https://forums.openshift.com/pictures-css-where-can-i-store-resources
相应地,我修改了openshift为node.js服务器配置创建的标准server.js:
self.start = function() {
...
// added >>
self.app.use('/', express.static(__dirname+'/'));
//modify the list of directories as needed
['css', 'img', 'js', 'i18n', 'lib'].forEach(function (dir){
self.app.use('/'+dir, express.static(__dirname+'/'+dir));
});
// << added
};https://stackoverflow.com/questions/30441372
复制相似问题