2016-03-15 2 views
1

Я делаю это учебник по teamTreeHouse https://teamtreehouse.com/library/express-basics/using-templates-with-express/using-jade-in-your-express-appЧто означает «TypeError: Невозможно прочитать свойство» _locals «undefined» означает?

, и я получаю эту ошибку:

 
TypeError: Cannot read property '_locals' of undefined 
    at EventEmitter.render (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\application.js:548:11) 
    at c:\Users\bcarr\Web Projects\LTQ\app.js:12:9 
    at Layer.handle [as handle_request] (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\layer.js:95:5) 
    at next (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\route.js:131:13) 
    at Route.dispatch (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\route.js:112:3) 
    at Layer.handle [as handle_request] (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\layer.js:95:5) 
    at c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\index.js:277:22 
    at Function.process_params (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\index.js:330:12) 
    at next (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\router\index.js:271:10) 
    at expressInit (c:\Users\bcarr\Web Projects\LTQ\node_modules\express\lib\middleware\init.js:33:5) 

теперь от того, что я читал из этого домена, у меня нет папки с именем _locals.

app.set('view engine', 'jade'); 
app.set('views', './templates'); 

Я использую эти строки кода для его запуска. я использовал

app.set('views', __dirname + './templates'); 

но мой app.js находится в той же папке, что и моей папке шаблонов «LTQ»

Почему я получаю эти парень ошибки? Что это значит?

+0

Не уверен, что '' __dirname + './Templates'' работает. Попробуйте использовать [путь] (https://nodejs.org/api/path.html) ('path.resolve (__ dirname, 'templates')'). – JCOC611

+0

@ JCOC611 Итак, я использовал его так: app.set ('views', (path.resolve (__ dirname, 'templates'))); - а также я добавил var path = require ('path'); - Я все еще получаю ту же ошибку - Спасибо за помощь! – clxxxii

+0

@clxxxii можете ли вы добавить к своему вопросу свою структуру папок? И что находится в строке 12 из c: \ Users \ bcarr \ Web Projects \ LTQ \ app.js – Molda

ответ

2

Можете ли вы опустить точку и посмотреть, что произойдет. Я имею в виду это

app.set('views', __dirname + '/templates'); 
+0

Да! Ты понял! Спасибо!! :) – clxxxii

Смежные вопросы