You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将样式表变量传入EJS模板?Node.js技术实现问询

没问题!既然你已经成功把CSS文件内容读取到MY_CSS变量,并且通过res.render传给了EJS模板,那接下来在EJS里引入这个样式就很简单了,只需要两步:

1. 在EJS模板的<head>里添加<style>标签

直接用EJS的非转义输出语法把MY_CSS变量的内容插入到<style>标签中,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Page</title>
    <!-- 插入读取到的CSS内容 -->
    <style><%- MY_CSS %></style>
</head>
<body>
    <!-- 你的页面内容 -->
    <h1>Hello from EJS!</h1>
</body>
</html>

2. 为什么用<%- %>而不是<%= %>?

这里必须用<%- %>(非转义输出),而不是常用的<%= %>(转义输出)。因为<%= %>会把变量里的特殊字符(比如CSS中的{、}、:或者引号)转换成HTML实体,导致CSS代码失效;而<%- %>会直接输出原始的文本内容,完美适配CSS这类代码的插入场景。

如果你的CSS文件里意外包含了EJS的语法标记(比如<%),那可能需要额外处理,但一般纯CSS文件不会出现这种情况,所以直接用上面的写法就可以正常生效啦!

内容的提问来源于stack exchange,提问作者theJuls

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:29:59