2013-06-03 206 views
0

我努力學習與快遞和的NodeJS想使我的看法與普通的HTML。我砍死在一起,一個Web服務器基於快遞API文檔和幾個棧的問題,特別是在this問題的答案安德魯Homeyer其中規定快速路由返回undefined隨機

你可以有玉包括普通的HTML頁面:

的意見

/index.jade

包括意見plain.html/plain.html

...和app.js仍然可以只呈現玉:

res.render(指數)

我的目錄結構看起來像這樣

Project 
    *web.js 
    Public 
     img 
     js 
     lib 
     gallerific 
      *jquery.opacityrollover.js 
      *jquery.gallerific.js 
     angular 
     theme 
     views 
     partials 
     *index.html 
     *index.jade 

和我的服務器看起來是這樣的。

var express = require('express'), 
    jade = require('jade'); 

var app = module.exports = express(); 

app.configure(function(){ 
    app.set('views', __dirname + '/public/views'); 
    app.use("/public/lib", express.static(__dirname + "/public/lib")); 
    app.use(express.static(__dirname + '/public')); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.set('view engine', 'jade') 
    app.use(express.bodyParser()); 
}); 


app.get('/', function(req, res) { 
    res.render('index'); 
}); 

app.get('/partials/:name', function(req, res){ 
    var name = req.params.name; 
    res.render('/public/partials/' + name); 
}); 

app.get('/public/data/:name', function(req, res){ 

    var name = req.params.name; 
    res.json('/public/data/' + name) 

}); 

app.listen(3000, function(){ 
    console.log("Express app listening on port %d in %s mode", this.address().port, app.settings.env); 
}); 

我所看到的是,某些文件無法從目錄中一切負載只是罰款加載。例如,我的庫頁失敗而它加載jquery.opacityrollover.js加載從我的lib/gallerific目錄javascript文件的jquery.gallerific.js。我已經捅了周圍的Chrome開發者工具,看看下面的

enter image description here

我有這個位點上的角度引導網絡服務器工作,所以它似乎沒有要與客戶端代碼JavaScript錯誤。有誰知道我會做什麼會導致這個問題?

源可在https://github.com/jamesamuir/express-simple-html.git

+1

你能後的HTML/JavaScript的定義圖像的位置? –

+1

請提及未找到的資源。 – user568109

+1

嘗試刪除包含該行'app.use( 「/公共/ LIB」,express.static(__目錄名+ 「/公共/ LIB」));'。 – veidelis

回答

0

我想通了。事實證明,我必須解決我忘記的路徑,以便Express可以正確渲染它們。這並不是說Gallerific JavaScript庫沒有加載,它是在我的圖庫圖像的未定義圖像源(我將它們從JSON文件中拉出)上拋出一個錯誤。

有一次,我把合適的路徑,在圖像和數據文件,一切都開始工作了。感謝所有爲我提供建議的人。這真的幫助我解決了這個問題。