2017-07-15 67 views
1

所以,我一直在做構建了一會兒投票應用程序的挑戰,我完成了註冊&登錄的一部分,但後來我遇到了一個問題,我不明白爲什麼會發生:錯誤的NodeJS

每當我嘗試去「調查」部分,它給了我一個錯誤:

TypeError: /home/ubuntu/workspace/views/polls.ejs:2 
    1| <%include header.ejs %> 
>> 2| <%include nav.ejs %> 
    3| <div id = "home" class = "container"> 
    4|  <h1>Polls</h1> 
    5| </div> 

esc is not a function 

PS線條1〜5是我的一切都在我的polls.ejs文件

這裏是我的polls.js文件的代碼:

const express = require('express'); 
const router = express.Router(); 
router.get('/', function (req, res) { 
    res.render('polls'); 
}); 

module.exports = router; 

這裏是我的nav.ejs文件代碼:

<body> 
<header> 
    <nav class="navbar navbar-dark navbar-full navbar-fixed-top" style="background-color: #0099ff;"> 
     <div class="container"> 
     <% if(authenticated === false){ %> 
      <a id="title" class="navbar-brand" href="/" style="color: #dddddd">FFC Voting App</a> 
     <ul class="nav navbar-nav pull-sm-right" style = "float: right;"> 
      <li class="nav-item active"><a class="nav-link" href="/polls">Polls</a></li> 
      <li class="nav-item"><a class="nav-link" href="/login">Login In</a></li> 
      <li class="nav-item"><a class="nav-link" href="/signup">Sign Up</a></li> 
     </ul> 
     <% }else{ %> 
      <a id="title" class="navbar-brand" href="/" style="color: #dddddd">FFC Voting App</a> 
     <ul class="nav navbar-nav pull-sm-right" style = "float: right;"> 
      <li class="nav-item active"><a class="nav-link" href="/polls">Polls</a></li> 
      <li class="nav-item"><a class="nav-link" href="/mypolls">My Polls</a></li> 
      <li class="nav-item"><a class="nav-link" href="/">Logout</a></li> 
     </ul> 
     <%}%> 
     </div> 
    </nav> 
    </header> 

這裏奇怪的是,如果我拿出了nav.ejs文件if/else語句,它工作得很好,但是當我添加它時,它給了我錯誤。

有誰知道它爲什麼會發生,我該如何解決它?

+0

你確定'authenticated'返回true或false嗎? – Wright

回答

1

esc is not a functionejs的說法,你有一個未定義的變量。

在這種情況下,這意味着您的變量authenticated未定義。

+0

謝謝Jivings!原來我不得不在我的polls.js文件中再次定義驗證過的函數。現在一切正常! –

+0

@ElisaL沒問題,使用'tick'左側,以紀念這個問題的回答:) – Jivings