2016-12-20 1 views
0

이보기 및 디렉토리를 사용하여 핸들에 대한 내 nodejs express 설정입니다 : 여기핸들 막대 레이아웃 디렉토리를 설정하는 방법은 무엇입니까?

- server.js 
- routes 
    |-- index.js 
-config 
    |-- config.js 
- client 
    |-- public 
    |  | -- js 
    |  | -- css 
    |  | -- font 
    |-- views 
     |-- index.html 
     |-- layout 
       |-- layout.handlebars 
    | ... other directories 

그리고 내 Node.js를 코드 :

// Set static folder 
app.use(express.static(path.join(__dirname, '/client/public'))); 
// Views and view engine 
app.set('views', path.join(__dirname, '/client/views')); 
app.set('view engine', 'ejs'); 
app.engine('html', handlebars({ defaultLayout: 'layout' })); 

핸들 바가 내 레이아웃을 찾을 수없는있다가. 그것의보고는 app/views/layouts/layout.handlebars이지만보고 있어야합니다 app/client/views/layouts/layout.handlebars

여기서 내가 무엇을 놓치고 있습니까? 당신이 그것의 인스턴스를 생성하는 동안 express-handlebars

당신은 디렉토리를 가리 키도록해야합니다 사용하는 것처럼

답변

1

보인다.

const hbs = exphbs.create({ 
    extname  :'hbs', 
    layoutsDir : 'path/to/layout/directory', 
    defaultLayout: 'main', 
    helpers  : 'path/to/helpers/directory', 
    partialsDir : [ 
     path/to/partials/directory 
    ] 
}); 

사용자 지정 폴더 위치로 시작하지 않으면 기본 위치에있는 파일을 찾습니다.

또한, 뷰 엔진 hbs.engine하지 ejs

app.engine('hbs', hbs.engine); 
app.set('view engine', 'hbs'); 
로 설정해야
관련 문제