2017-01-04 10 views
1
未定義

のプロパティ「_locals」を読んで、私は、ノードおよびNPMインストールされているが、私はこのエラー「例外TypeError:未定義のプロパティ 『_locals』を読み取ることができません」持ってることはできません、私がしようとしたときにこの:例外TypeError:私はUbuntuの16.04でnodejsを使用しようとしています

var express = require("express"); 
    app = express(); 
    bodyParser = require("body-parser"); 
    mongoose = require("mongoose"); 

app.set("view engine", "ejs"); 

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

app.listen(3000, function(){ 
    console.log("Server Started!"); 
}) 

それは、端末に出力します

Server Started! 
TypeError: Cannot read property '_locals' of undefined 
    at EventEmitter.render (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/application.js:548:11) 
    at /home/luis/Documents/work/webdevBootcamp/test/app.js:9:6 
    at Layer.handle [as handle_request] (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/layer.js:95:5) 
    at next (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/route.js:131:13) 
    at Route.dispatch (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/route.js:112:3) 
    at Layer.handle [as handle_request] (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/layer.js:95:5) 
    at /home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:277:22 
    at Function.process_params (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:330:12) 
    at next (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:271:10) 
    at expressInit (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/middleware/init.js:33:5) 
    at Layer.handle [as handle_request] (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/layer.js:95:5) 
    at trim_prefix (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:312:13) 
    at /home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:280:7 
    at Function.process_params (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:330:12) 
    at next (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/router/index.js:271:10) 
    at query (/home/luis/Documents/work/webdevBootcamp/test/node_modules/express/lib/middleware/query.js:44:5) 

私はローカルホストのロード時:3000それはEJSファイルをレンダリングするか、私はそれは私が

を行うセンド()関数を使用させません
app.get("/", function(req,res){ 
    app.send("whatever"); 
}); 

それは言う:

TypeError: app.send is not a function 

私は急行とEJSモジュールがインストールされていない(NPM私はEJSマングースボディパーサーを表現-Sインストール走っ)

+0

やっていたた

http://stackoverflow.com/questions/36013826/what-does-typeerror-cannot-read -property-locals-of-undefined-helpの意味 – nivendha

+2

res.sendの代わりにapp.sendを呼び出すべきではありません。 appは、httpリクエストをルーティングするためのオブジェクトです。 – digit

+0

@digitありがとう!うわー、私は愚かだと感じる – LuisEgan

答えて

2

である場合httpリクエスト "問題は、私はあなたがチェックしてください可能性

app.get("/", function(req,res){ 
    app.send("whatever"); 
}); 

代わりの

app.get("/", function(req,res){ 
    res.send("whatever"); // res instead of app 
}); 
1

あなたの意見ディレクトリを設定してください。 例: 「あなたはres.send代わりapp.send呼び出すべきではないアプリは、ルーティングのためのオブジェクトです:。@digitはコメントで言ったように、あなたのインデックステンプレートファイルには、「SRC」

app.set('views', __dirname + '/src'); 
関連する問題