簡體   English   中英

如何在EJS中包含內容?

[英]How to include contents in EJS?

我在某些本來應該很簡單的事情上遇到了麻煩。 我的web應用程序是一個Node.js一個有expressejs

我在index.js中包含了這樣的代碼(在這種情況下非常經典):

var app = express();

app.use('/public', express.static(path.join(__dirname, '/public')));
app.set('port', (process.env.PORT || 5000));
app.use(express.static(__dirname + '/public'));
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

現在這是我遇到的問題。

在我所有的.ejs文件中,有些恰好需要相同的代碼(由我編寫)。 為了避免重復,我想將此代碼存儲在一個單獨的文件中,然后在必要時將其包括在內,但是我找不到正確的方法。 我將代碼放在一個名為Utils.ejs的文件中(位於partials文件夾中),然后使用了它:

<% include ../partials/Utils.ejs %>

但它不起作用。 然后,我在網上搜索並嘗試了幾種變體,但沒有任何效果。

有人知道我該怎么做嗎?

有關版本的信息,這是我的package.json文件中的內容:

"ejs": "^2.5.7",
"express": "~4.11.x",
"node": ">=4.3"

在此處輸入圖片說明

導入局部文件時不包括文件擴展名

<% include ../partials/Utils.ejs %>刪除.ejs並嘗試

刪除“ ..”和“ .ejs”,並確保“ / partials / Utils /”位於公用文件夾中

<% include /partials/Utils %>

在這行

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

做了

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

這樣就可以正常工作,您可以直接訪問所有視圖頁面( views/pages/ ),也可以從pages文件夾訪問您的部分視圖( views/partials/ )。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM