我想制作一個佇列系統來創建 pdf 檔案。我創建了一個節點服務器并使用了 Express 框架。我也將rabbitmq用于佇列系統。我設定視圖引擎 ejs
app.set('view engine', 'ejs');
app.use(Express.static(__dirname "/views"));
我的檔案夾結構是
consumers
--consumer_report.js
views
report.ejs
report
--environment.ejs
--consultans.ejs
--map.ejs
當用戶想要創建 pdf 時,我將其重定向到佇列。佇列正在計算一些資料。計算后我正在使用渲染 ejs 檔案。
createReport(msg.user, msg.reportID, msg.type, msg.packetName, (err, data) => {
data.packet = msg.packetName;
let dirUrl = __dirname "/../views/report.ejs";
let opts = {
async: true
}
ejs.renderFile(dirUrl, data, opts, (err, html) => {
if (err) return console.error(err);
console.log("html", html);
});
});
報告 Ejs
<!DOCTYPE html>
<html lang="en" style="zoom:0.75;">
<head>
<meta charset="UTF-8">
<title>Report</title>
<link rel="stylesheet" href="<%= host %>/css/rp.css">
<script src="<%= host %>/js/jquery3.2.1.min.js"></script>
<script src="<%= host %>/js/highcharts.js"></script>
<script src="<%= host %>/js/rp.js"></script>
</head>
<body>
<% for(let i of index){brackets = i.i_page; title= i.name %>
<% if(brackets=="environment") {%> <%- include report/environment.ejs %> <% } %>
<% if(brackets=="consultant") {%> <%- include report/consultants.ejs %> <% } %>
<% if(brackets=="map") {%> <%- include report/map.ejs %> <% } %>
<% } %>
</body>
</html>
渲染 ejs 檔案時出現此錯誤
編譯 ejs 時 /home/aaa/Desktop/projects/report/consumers/../views/report.ejs 中的引數串列后出現錯誤 SyntaxError: missing )
我找不到錯誤。我的錯誤在哪里?
uj5u.com熱心網友回復:
根據檔案,您需要將包含語法更改include(path)為:
注意:v3.0 不支持包含前處理器指令(<% include user/show %>)。 https://github.com/mde/ejs
嘗試這個:
<!DOCTYPE html>
<html lang="en" style="zoom:0.75;">
<head>
<meta charset="UTF-8">
<title>Report</title>
<link rel="stylesheet" href="<%= host %>/css/rp.css">
<script src="<%= host %>/js/jquery3.2.1.min.js"></script>
<script src="<%= host %>/js/highcharts.js"></script>
<script src="<%= host %>/js/rp.js"></script>
</head>
<body>
<% for(let i of index){brackets = i.i_page; title= i.name %>
<% if(brackets=="environment") {%> <%- include('report/environment.ejs') %> <% } %>
<% if(brackets=="consultant") {%> <%- include('report/consultants.ejs') %> <% } %>
<% if(brackets=="map") {%> <%- include('report/map.ejs') %> <% } %>
<% } %>
</body>
</html>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/440875.html
