2016-06-19 5 views
0

У меня есть следующий код в server.js (где приложение является экспресс-экземпляром), который должен вернуть файл index.html, который находится в том же каталоге, что и server.js.sendFile не функция в приложении с узлами на основе Express?

app.get('/', function (req, res) { 
    var indexPath = path.resolve('index.html'); 
    res.sendFile(indexPath); 
}); 

я выйти indexPath и это правильный путь к моей HTML-файл. Тем не менее, я получаю следующую ошибку

TypeError: res.sendFile is not a function

и вызова след:

at Object.handle (/Users/alexanderbollbach/Desktop/ABApp/server.js:54:9) 
at next_layer (/Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/route.js:103:13) 
at Route.dispatch (/Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/route.js:107:5) 
at /Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/index.js:195:24 
at Function.proto.process_params (/Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/index.js:251:12) 
at next (/Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/index.js:189:19) 
at Layer.jsonParser [as handle] (/Users/alexanderbollbach/Desktop/ABApp/node_modules/body-parser/index.js:31:38) 
at trim_prefix (/Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/index.js:226:17) 
at /Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/index.js:198:9 
at Function.proto.process_params (/Users/alexanderbollbach/Desktop/ABApp/node_modules/express/lib/router/index.js:251:12) 
+0

Какую версию Express вы используете? – elclanrs

+0

i версия для использования^4 –

+0

Какая версия точно? 'sendFile' доступен только в 4.8.0+ – elclanrs

ответ

2

В старых версиях Express, метод, используемый, чтобы быть senfile, не sendFile.

Обновление до Express 4.14, вы сможете использовать sendFile. 4.14 также является обновлением безопасности, поэтому настоятельно рекомендуется.

Вы можете добавить это в свой файл package.json: "express": "^4.14.0".