2015-11-19 33 views
0

我是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的信息,我没有这样的问题。

回答

0

安装最新的ubuntu更新后,错误消失了。

谢谢你的时间!

相关问题