Ras*_*amm 5 node.js express pug
我试图找出如何根据环境选择在玉文件中显示文本.我似乎无法弄清楚如何访问NODE_ENV我的jade文件中的变量.
在我的index.jade文件中我正在做:
if process.env.NODE_ENV === 'development'
h1 I am in development mode
else
h1 I am not in development mode
Run Code Online (Sandbox Code Playgroud)
问题process.env.NODE_env是undefined.
当我尝试做:h1 #{process.env}在if声明之外,Jade输出[Object Object]到页面上.
当我尝试做:h1 #{process.env.NODE_ENV}在if声明之外,Jade不会在页面上输出任何内容.
我没有动态渲染我的Jade文件,而是每当我启动服务器时,我都将它们构建为"静态"文件.
Pau*_*aul 10
您要在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
Run Code Online (Sandbox Code Playgroud)
然后在你的玉模板中你可以做到
#{env.NODE_ENV}
Run Code Online (Sandbox Code Playgroud)
UPDATE
添加直接使用,而不是在快速服务器中.
const pug = require('pug');
// Compile the source code
const compiledFunction = pug.compileFile('template.pug');
// Render a set of data
console.log(compiledFunction(process.env));
Run Code Online (Sandbox Code Playgroud)
这将记录它,但当然你可以使用fs实用程序轻松地将其写入HTML文件.
| 归档时间: |
|
| 查看次数: |
4055 次 |
| 最近记录: |