2015-11-06 377 views
1

我想改變我的文件和文件夾結構,我試着尋找已經在線的解決方案,但沒有發現任何簡單的東西,我有一種感覺這個東西應該有一個簡單的解決方案。節點和句柄文件夾結構

我目前這個

var expressHandlebars = require('express-handlebars'); 
app.set('views', __dirname + '/views'); 
app.engine('hbs', expressHandlebars({extname: 'hbs', defaultLayout: 'main'})); 

我的文件夾結構如下

views 

-- frontend 
---- (doesn't matter, gulp takes care of this for FE).hbs 

-- layouts 
---- main.hbs 

-- index.hbs 

我想什麼存檔是有

views 

-- frontend 
---- (doesn't matter, gulp takes care of this for FE).hbs 

-- backend 
---- views 
------ index.hbs 
---- main.hbs 

基本上,我希望當我睜開在根目錄中查看文件夾以具有前端,然後是後端文件夾。根目錄中的後端文件夾應具有主佈局,然後在文件夾中爲特定視圖分配不同的部分。

我可以毫不問題添加後端文件夾,其中改變

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

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

但是我怎麼調換該佈局是在視圖文件夾的根?

只是這樣做會拋出一個錯誤,因爲他會尋找/backend/layouts/main.hbs中的佈局,我希望它在根中。

另外,後來我用res.render('index', data);來表達事物。建議的解決方案應該能夠做到相同,或至少res.render('views/index', data);,因爲新的視圖將在文件夾中。

任何幫助或提示的讚賞。

回答

1

沒關係,在同事的幫助下發現它。

這裏有一個實際的選項,我在查看文檔時遇到了一些問題。

app.engine('hbs', expressHandlebars({ 
         extname: 'hbs', 
         defaultLayout: 'main', 
         layoutsDir: './views/backend' 
        }));