首页 > 解决方案 > 如何在nodejs中检测环境并放置价值

问题描述

我想知道如何将谷歌分析 id 应用于暂存/本地和生产,

我有两个 ID,每个用于登台/本地和生产。我使用 nodejs 作为后端,并使用 env 文件将谷歌分析密钥存储在配置文件中

如果是本地的,如何通过,通过谷歌分析 id ga_local

如果是 prod,请在启动时在 nodejs 中传递谷歌分析 id ga_pro

app.js
var express = require('express');
var config = require('./config');
var app = express();
var ga_id = app.get('env');
ga_id == "development" ? config.ga_local : config.ga_pro;
//how to pass to frontend

.env

ga_local = "UA-XXXX-X",
ga_pro = "UA-YYYY-Y"

config.js

require('dotenv').config();
const config = {
    ga_local: process.env.ga_local,
    ga_pro: process.env.ga_pro
};
module.exports = config;

front end

<script async src='https://www.googletagmanager.com/gtag/js?id=${ga_id}'></script>

标签: arraysnode.jsexpressobjectgoogle-analytics

解决方案


您可以在运行节点服务器时提供模式。.

运行你的文件-> node index.js -m prod

访问命令行参数的代码。

 const program = require('commander');
/* reading commandline parameters */
program
    .version('1.2')
    .option('-m,--mode [type]', 'Running Mode', 'MODE_NOT_PROVIDED')
    .parse(process.argv);

console.log(program.mode); local,prod or dev

推荐阅读