나는 express와 jade를 사용하여 웹 사이트를 만들려고 노력해 왔습니다. 나는 여러 페이지와 경로를 만들었고 지금까지는 잘 돌아갔다. 나는 내 캐시와 쿠키를 삭제하면ReferenceError : jade가 정의되지 않았습니다.
ReferenceError: jade is not defined
at eval (eval at <anonymous> ([...]project/node_modules/jade/lib/jade.js:165:30), <anonymous>:2:1)
at Object.exports.render ([...]project/node_modules/jade/lib/jade.js:211:10)
at Object.exports.renderFile ([...]project/node_modules/jade/lib/jade.js:247:18)
at View.exports.renderFile [as engine] ([...]project/node_modules/jade/lib/jade.js:232:21)
at View.render ([...]project/node_modules/express/lib/view.js:76:8)
at Function.app.render ([...]project/node_modules/express/lib/application.js:506:10)
at ServerResponse.res.render (/media/ruben/5CCAD622CAD5F7EA/Users/ruben/Google Drev/developer/workspace/kwasi/project/node_modules/express/lib/response.js:759:7)
at exports.home ([...]project/routes/cases.js:7:7)
at callbacks ([...]project/node_modules/express/lib/router/index.js:164:37)
at clientChosen ([...]project/app.js:81:5)
, 내 모든 페이지에 갈 수 있지만, 내가 로그인 할 때마다, 즉, 로그인 한 사용자와 세션 변수를 설정한다 : 나는 다음과 같은 오류가 계속 위의 오류가 발생합니다.
내가 포함 할 수있는 다른 정보가 확실하지 않습니다. 내 app.js에서
나는 다음과 같이 렌더링 엔진으로 옥을 지정합니다 :
app.configure(function() {
app.set("views", __dirname + "/views"); // Set the views folder
app.set("view engine", "jade"); // Set the rendering engine
...
스택 추적을 참조하는 cases.js의 행은 단순히
res.render("home.jade", {})
EDIT입니다 내보기는 다음과 같습니다
extend layout
block title
title Forside - #{company}
block content
h3 Sager
- for (var i = 0; i < cases.length; i++) {
.casethumb
p #{cases[i].label}
- }
편집 2 : 오른쪽. 내가 결정할 수 있었던 것은 내 맞춤식 미들웨어와 관련이있을 수 있다는 것입니다. 나는이 두 가지 기능
// Makes sure that the user is logged in
loggedIn = function(req, res, next){
if (req.session.user) {
next()
}
else {
if (req.url != "/login") {
req.flash('info', "Før du kan bruge systemet, skal du logge ind")
}
res.redirect("/login")
}
}
// Makes sure that the user has chosen a client to work on
clientChosen = function(req, res, next) {
if (req.session.selectedClient) {
next()
}
else {
res.redirect("/chooseClient")
}
}
을 그리고는 다음과 같이 사용할 :
app.get("/", loggedIn, clientChosen, cases.home)
나는 문제는 사라집니다이
app.get("/", cases.home)
처럼 내 경로에서 기능을 제거 할 수 있지만 I 때 내 미들웨어의 기능이 필요합니다. 어떻게 해결할 수 있을까요?
내 옥 구성 및해야 할 수 있습니다 것 같아 질문 – Eldamir
에서보기를 포함하는 내 질문을 편집 한 세션 변수가 저장되는 방식. 추가로 조사하겠습니다. – Eldamir
cases.home() 코드를 붙여 넣을 수 있습니까? 다른 두 개의 시계는 나에게 잘 어울립니다. – vmx