我是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的信息,我沒有這樣的問題。