【问题标题】:Unable to get environment variable in node.js无法在 node.js 中获取环境变量
【发布时间】:2018-03-14 06:40:16
【问题描述】:

我想在我的 index.html 文件中插入 GTM 代码。并且该代码应该只在我的网站的 prod 环境中执行

我的 index.html 文件

<head>
<link rel="import" href="ftl/gtm.ftl">
</head>

我的 gtm.ftl 文件的内容如下 ->

<script>
var config = require('./config').server;

var env =config.env;
console.log(env);
    if (config.env && config.env=='PROD'){
            (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push(
            {'gtm.start': new Date().getTime(),event:'gtm.js'}
            );var f=d.getElementsByTagName(s)[0],
            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
            'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
            })(window,document,'script','dataLayer','GTM');

         }else{
                console.log("helloo");
         }

</script>

<!-- End Google Tag Manager -->

我只想在 prod 环境中加载谷歌标签管理器脚本。问题无法读取 ftl 文件中的 config.env 变量。

我的 server.js 文件

'use strict';

module.exports = {
  api_base_url  : process.env.API_BASE_URL ? process.env.API_BASE_URL :'http://localhost:8080',
  port          : process.env.PORT ? process.env.PORT :8000 , 
  env           : process.env.ENV ? process.env.ENV :'DEV',
};

如何在 ftl 文件中获取这个环境变量。

我也尝试使用 javascript,而不是使用 ftl 文件。

<head>
<script src="ftl/gtm.js"> </script>
</head>

在我的 server.js 文件中

var express = require('express'); // call express
var app = express(); // define our app using express
var config = require('./config').server;
var env = config.env;

app.set('env' ,env);

现在在我的 ftl/gtm.js 中,我在下面做 ->

 <% if (env && env =='PROD') { %>
        console.log("Please load for PROD");    
        <% }else{
             console.log("hellllooooo");
           } %>

我的要求只是添加 if 条件..基于某些变量。变量的值来自 node.js process.env 变量。基于此,我想在浏览器中加载脚本。

我是节点新手。任何帮助将不胜感激。

【问题讨论】:

  • 如果文件名为 server.js 你需要使用 require('./server') 或者你有另一个文件名为 config.js 吗?
  • 不..我只有 server.js 文件。但我仍然收到错误'require is not defined'
  • 你是在浏览器还是在 node.js 中运行这个?
  • 我在 node.js 中运行

标签: node.js environment-variables


【解决方案1】:

检查您是否在 env 文件前面提到了点。喜欢 .env

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 1970-01-01
    • 2018-03-09
    • 2018-01-20
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    相关资源
    最近更新 更多