[英]How to include contents in EJS?
我在某些本來應該很簡單的事情上遇到了麻煩。 我的web應用程序是一個Node.js
一個有express
和ejs
。
我在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.