我是Node的新手。我尝试了一个hello world Express/Node应用程序,其中我在静态css文件中显示一个小文本和一些静态图像以及一些样式。我正在我自己的计算机上使用Vagrant在托管虚拟机上运行我的应用程序。节点不向远程客户端提供图像
我面临的问题是,当我从同一局域网中的另一台远程计算机上尝试应用程序时,某些图像不显示。在具有200个状态码的节点中记录相应的GET请求,但我的浏览器正在等待答案。我试过Firefox,Safari和Chrome。奇怪的是,如果我从托管虚拟机的同一台计算机调用相同的应用程序,但在虚拟机外部,则可以看到这些图像。
此外,如果当我在heroku帐户上部署相同的应用程序时,我可以看到计算机上无法显示它们的所有图像。
所以我真的不明白什么是错的。
请告诉我,如果你以前遇到类似的问题。
下面是代码
var express = require('express');
var logger = require('morgan');
var path = require('path');
var morgan = require('morgan');
var app = express();
var router = express.Router();
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(router);
app.use(logger('dev'));
app.use(express.static(path.join(__dirname, 'public')));
router.all('/', function (req, res, next) {
console.log('Someone made a request!');
next();
});
router.get('/', function (req, res) {
res.render('index');
});
app.listen(3000);
module.exports = app;
这里是一个简单的页面布局。这两个图像位于相同的文件夹中。
doctype html
html(lang="en")
head
title Express Routing
body
h1 Express Routing
p The Definitive Guide
img(src='/images/test.ico')
img(src='/images/giraffe.jpg')
当我打电话给应用程序click here时,这里是网络跟踪。
最后,我尝试使用另一个示例应用程序从现有的公共git存储库中,并且在我的虚拟机上部署它时遇到同样的问题(并非所有静态文件都从REMOTE机器下载,而如果我从主机调用应用程序)..正如你可以看到3静态文件正在等待下载: click here。
对于您使用Rails而不是Node的信息,我没有这样的问题。