2016-07-06 76 views
1

我有這樣的代碼在本地優秀作品,但在Heroku上運行時,我得到一個錯誤快遞錯誤時嘗試發送靜態文件:路徑必須是絕對

var express = require('express') 
var app = express() 
var path = require('path') 
app.use(express.static('public')); 
var bodyParser = require('body-parser') 
app.use(bodyParser.urlencoded({ 
    extended: true 
})); 
// parse application/json 
app.use(bodyParser.json()) 
const portNum = 8080 
var port = process.env.PORT || portNum; 

app.get('/', function (req, res) { 
    res.sendFile('index.html') 
}) 

然而,在Heroku上運行時,我得到的錯誤:

TypeError: path must be absolute or specify root to res.sendFile

任何想法?

回答

0

可以使用獲得的絕對路徑:

path.join(__dirname, myfilename) 

參考 - https://nodejs.org/api/globals.html#globals_dirname

+0

我的朋友也有同樣的代碼,我,但沒有得到在Heroku上的錯誤在自己的應用程序 –

+0

我不是確定你們在heroku上所做的配置。所以我真的不能回答這個問題,但是使用__dirname會爲你解決問題。 – kawadhiya21

+0

好thx,但我真的不明白爲什麼這將工作在本地,而不是在Heroku –

相關問題