Node.js 如何访问Nunjucks模板中的节点_ENV?
我有一些Nunjuck模板块,我只想在某些环境中渲染它们。但我似乎无法访问Node.js 如何访问Nunjucks模板中的节点_ENV?,node.js,express,templates,nunjucks,Node.js,Express,Templates,Nunjucks,我有一些Nunjuck模板块,我只想在某些环境中渲染它们。但我似乎无法访问节点\u ENV变量。我试过这个: {% if process.env.NODE_ENV === 'development' %} <div>rendering some stuff here</div> {% endif %} {%if process.env.NODE_env==='development%} 在这里渲染一些东西 {%endif%} 但这似乎对我不起作用。它似乎不知道什么
节点\u ENV
变量。我试过这个:
{% if process.env.NODE_ENV === 'development' %}
<div>rendering some stuff here</div>
{% endif %}
{%if process.env.NODE_env==='development%}
在这里渲染一些东西
{%endif%}
但这似乎对我不起作用。它似乎不知道什么是process.env.NODE\u env
可以在模板中访问这样的环境变量吗?您可以使用以下变量之一:
addGlobal
定义返回环境的函数
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
env.addGlobal('$environment', () => process.env.NODE_ENV || 'development');
var res = nunjucks.renderString(`{{$environment()}}`);
console.log(res);
$environment
定义为const app = express();
app.use(function (req, res, next) {
res.locals.$environment = process.env.NODE_ENV || 'development';
next();
});
// In nunjucks template
{{$environment}}
我在我的
app.js中完成了以下操作
nunjucks.configure('views', {
...
}).addGlobal('NODE_ENV', process.env.NODE_ENV)
这只是将NODE\u ENV
作为全局可访问变量添加到我的Nunjucks模板中。您的环境变量设置在哪里以及如何设置?在您的情况下,它可能是未定义的,那么您应该将其设置为默认值。看看这个:还有这个:我在app.js中设置了我的环境变量。