是否可以在process.env值中使用字符串文字?

问题描述

我想添加一个带有参数的环境变量。 像这样:

URL= https://my-domain.com/test/${value}?code=7NqsdKgBKw

并计算js中的foo值。

const value = Math.random();
fetch(process.env.URL);

如何获得与使用文字相同的效果

const value = Math.random();
fetch(`https://my-domain.com/test/${value}?code=7NqsdKgBKw`);

解决方法

对于足够简单的情况(没有转义,只有一个变量),Node.js具有内置的util.format,其中包含printf样式的占位符,很好而又轻松:

URL=https://my-domain.com/test/%s?code=7NqsdKgBKw
// ESM: import { format } from 'util';
const { format } = require('util');

const urlFormat = process.env.URL;

const value = Math.random();

fetch(format(urlFormat,value))