2015-11-19 47 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更新後,錯誤消失了。

謝謝你的時間!

相關問題