如何在node.js + expressJS中设置和使用局部视图路径

时间:2015-09-08 05:35:16

标签: node.js express view ejs

我在nodeJs + expressJs中设置部分视图路径时遇到问题。下面是我的目录结构。

目录结构

packages
--Module1  
----Views
------sample.ejs
--sharedModule
----Views
------partials
--------Module1.ejs
--------partialHTML.ejs      //able to use in index.ejs
------index.ejs  //Used : <% include partials/partialHTML%>

ExpressJS:

var express = require('express');
var app = express();
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'packages/sharedModule/views'));

我可以使用'partialHTML.ejs'index.ejs文件中使用<% include partials/partialHTML%>.

如何在Module1.ejs文件下使用Module1/view/sample.ejs个文件?

1 个答案:

答案 0 :(得分:0)

您已将packages/sharedModule/views设置为您的观看目录,sample.ejs不在该目录下,它位于另一条路径下。这就是为什么没找到它。

在Linux中,您可以创建一个软链接来指向共享视图Module1/views/sharedviews ==&gt; ../../sharedModule/views,然后将Module1设置为视图的根路径 -

app.set('views', path.join(__dirname, 'packages/Module1/views'));

因此,当您查找任何视图时,可以确保找到该视图,因为现在您的views目录同时拥有Module1sharedModule个视图。