gpt4 book ai didi

node.js - 在 Jade 文件中访问 Node 环境变量

转载 作者:搜寻专家 更新时间:2023-10-31 22:38:20 24 4
gpt4 key购买 nike

我想弄清楚如何根据环境有选择地在 jade 文件中显示文本。我似乎无法弄清楚如何访问我的 jade 文件中的 NODE_ENV 变量。

在我的 index.jade 文件中,我正在做:

if process.env.NODE_ENV === 'development'
h1 I am in development mode
else
h1 I am not in development mode

问题是 process.env.NODE_envundefined

当我尝试执行:h1 #{process.env}if 语句之外时,Jade 输出 [Object Object] 到这页纸。

当我尝试在 if 语句之外执行:h1 #{process.env.NODE_ENV} 时,Jade 不会在页面上输出任何内容。

我不是在运行时渲染我的 Jade 文件,而是在每次启动服务器时都将它们构建为“静态”文件。

最佳答案

任何你想在 jade 模板中访问的东西都必须在从服务器发送的本地对象中。对于流程环境之类的东西,您可以在启动应用程序时立即执行此操作:

const express = require('express');
var app = express();

app.locals.env = process.env; // though you might prefer to clone this instead of setting them equal

然后在你的jade模板中你可以做

#{env.NODE_ENV}

更新

添加以供直接使用,而不是在快速服务器中。

const pug = require('pug');

// Compile the source code
const compiledFunction = pug.compileFile('template.pug');

// Render a set of data
console.log(compiledFunction(process.env));

这会记录它,但当然您也可以使用 fs 实用程序轻松地将其写入 HTML 文件。

关于node.js - 在 Jade 文件中访问 Node 环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37354706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com