arrays - 如何在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>
解决方案
您可以在运行节点服务器时提供模式。.
运行你的文件-> 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
推荐阅读
- codeigniter - 如何像在laravel中一样在codeigniter中全局设置csrf令牌?
- machine-learning - raspberry pi 4 支持 face_recognition 的速度是否比 raspberry pi 3 B+ 快?
- amazon-web-services - 如何在cloudformation中为资源自定义名称添加随机后缀值?
- django - python django2中“'DateTimeField'实例没有'年份'成员”的问题是什么?
- json - 使用jq将文件中的数组元素添加到其他文件的json数组中
- r - 如何减去存储在R中两个列表中的向量?
- java - 自定义样式中的secondaryTextColor 不起作用
- html - 当我将页面方向更改为 rtl 时移动侧面导航栏
- javascript - 如何停止去抖动的 Rxjs Observable?
- cron - 如何使用 cron 运行 linux 命令