Ejs 包含未渲染的部分文件

发布于 2025-01-10 16:45:25 字数 1569 浏览 0 评论 0原文

我正在尝试在 Node.js 项目中使用 ejs。 我已成功渲染视图文件(.ejs')并使用其中的 .js 数据。 并获取所需的网页,包括样式表。 该问题仅在使用部分时出现 在 customer.ejs 中导入 header.ejs 文件后,我在网页上获得了 header.ejs 的确切文本语法。 <%- include("partials/header") %> 简而言之,customer.ejs 正在找到头文件并导入它。但不渲染它

输出

�� <�head> <�link rel="stylesheet" href="/css/style.css"> <�title>Customer<�/title> <�/head> 
Name: abc

我的目录如下 项目\public\css\style.scc project\views\partials\header.ejs> 项目\views\customer.ejs 项目\app.js 我正在使用快递 我的语法如下

app.js

 app.use(express.static('public'));
 app.set('views', './views');
 app.set('view engine', "views");

客户.ejs

<html >
<%- include("partials/header") %> 
<body>
    <h1>
         Name: <%= customer.name %>
    </h1>   
    
 </body>
 </html>

标题.ejs

<head>

    <link rel="stylesheet" href="/css/style.css">
    
    <title>Customer</title>
</head>

我尝试过的事情

<%- 包括部分/标题 %> <%- include("partials/header") %> <%- include("./partials/header") %> <%- include("partials/header.ejs") %> 以及其他几个.. 还尝试使用 express-partial 模块。 也在不同的浏览器上尝试过。 如果我做错了什么或使用解密方法,请告诉我 任何帮助将不胜感激。 谢谢。

I am trying to use ejs in a node js project.
I have managed to render the views file(.ejs') and use the .js data in it.
and getting the desired webpage including the stylesheet.
the problem occurs only while using partial
After importing the header.ejs file in customer.ejs I am getting the exact text syntax of the header.ejs on the webpage.
<%- include("partials/header") %>
In short customer.ejs is locating the header file and importing the it fine. but not rendering it

Output

�� <�head> <�link rel="stylesheet" href="/css/style.css"> <�title>Customer<�/title> <�/head> 
Name: abc

my directories are as follows
project\public\css\style.scc
project\views\partials\header.ejs>
project\views\customer.ejs
project\app.js
i am using Express
my syntax are as follows

app.js

 app.use(express.static('public'));
 app.set('views', './views');
 app.set('view engine', "views");

customer.ejs

<html >
<%- include("partials/header") %> 
<body>
    <h1>
         Name: <%= customer.name %>
    </h1>   
    
 </body>
 </html>

header.ejs

<head>

    <link rel="stylesheet" href="/css/style.css">
    
    <title>Customer</title>
</head>

Things i tried

<%- include partials/header %>
<%- include("partials/header") %>
<%- include("./partials/header") %>
<%- include("partials/header.ejs") %> and several more..
also tried using the express-partial module.
also tried it on different browsers.
Please let me know if i am doing something wrong or using a decrypted method
Any help would be appreciated.
Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

゛清羽墨安 2025-01-17 16:45:25

我在谷歌上冲浪了很长一段时间后得到了我的问题的答案。
Unicode 出了点问题
将以下内容粘贴到根目录后,问题就解决了。按下 Enter 键后,我的整个 app.js 就变成了一些中文文本。但 ctrl+z 把我的代码带回来了。

Get-Content .\app.js -Encoding Unicode | Set-Content -Encoding UTF8 
.\app-fixed.js ; Move-Item -Path .\app-fixed.js -Destination .\app.js - 
Confirm -Force 

I got the answer to my question after surfing google for a significant amount of time.
Something went wrong with the Unicode
After pasting the following in the root dir the problem was solved. Just after hitting enter, my entire app.js got changed to some Chinese text. but ctrl+z brought my code back.

Get-Content .\app.js -Encoding Unicode | Set-Content -Encoding UTF8 
.\app-fixed.js ; Move-Item -Path .\app-fixed.js -Destination .\app.js - 
Confirm -Force 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文