2017-06-11 20 views
0

我在Heroku上啓動了一個新的nodejs項目。代碼工作在我的機器就好了,但是當我在Heroku上運行它,我得到這個消息:Heroku:無法在視圖目錄「/ app/server/views」中查找視圖「index.jade」

未能在views目錄查找視圖「index.jade」「/應用/服務器/視圖」

知道我做了目錄「/ app/server/views」中的「index.jade」文件。

操作系統:Windows 10

Server.js文件

var express = require('express'); 
var path = require ('path'); 
var connectionString = "mongodb://localhost:27017/TravelWithMe"; 

stylus = require ('stylus'); 

logger = require('morgan'); 
bodyParser = require('body-parser'); 
mongoose = require('mongoose'); 
var app = express(); 

function compile (str,path) 
{ 
    return stylus(str).set('filename',path); 
} 

app.set('views',path.join(__dirname ,'server/views')); 
app.set('view engine', 'jade'); 
app.use(logger('dev')); 


app.use(bodyParser.urlencoded({extended:true})); 
app.use(bodyParser.json()); 

app.use(stylus.middleware(
    { 
     src: path.join(__dirname ,'public'), 
     compile: compile 
    } 
)); 


app.use(express.static(path.join(__dirname ,'public'))); 

mongoose.connect(connectionString); 
var db = mongoose.connection; 
db.on('error',console.error.bind(console,'connection error ...')); 
db.once('open',function callback() { 
console.log('TWM Db opened') 
}); 

app.get('/partials/:partialPath', function(req, res) { 
    res.render('partials/' + req.params.partialPath); 
}); 

app.get('*',function (req,resp){ 
    resp.render('index.jade',{MongoMessage : MongoMessage}); 
}); 

var port = process.env.PORT || 3030; 
app.listen(port); 
+0

Server.js位於應用程序的最頂部目錄中嗎?此外,作爲快速的完整性檢查(除了這是最佳實踐),將app.set('views',path.join(__ dirname,'server/views'));'更改爲'app.set('views ',path.join(__ dirname,'server','views'));'看看它是否能解決你的問題 –

+0

@LanceWhatley是的,它位於頂層目錄。我試過了path.join ..仍然是同樣的問題.. –

回答

0

於是我找到一種方式來獲得它的工作。我刪除了index.jade文件並重新創建它!