将请求发送到多环境公共包中的适当API



我目前正在开发一个公共npmjs包。这个包将向我的一个api发送请求。我也有多个环境,这意味着我希望我的包发送请求到不同的url,这取决于它是用于生产还是登台。

我通常会使用环境变量,但由于它意味着在其他项目中使用,我不确定正确的方法。

我的一个想法是在构建时定义环境变量,但我真的不喜欢这个想法,因为这意味着我需要为登台/生产发布不同的版本,我不希望登台版本出现在npmjs上。

我很想听听其他开发人员是如何处理类似的案例的。

提前感谢!

我最后是这样做的。

我在package.json中添加了两个命令

"build:prod": "BUILD_ENV=prod && yarn build",
"build:staging": "BUILD_ENV=staging && yarn build",

并使用webpack在运行时定义环境变量。首先,我加载与指定构建环境

相关的配置
const buildEnv = process.env.BUILD_ENV;
const configuration = require(`./config/${buildEnv}.json`);

然后将它们应用到我的项目中使用的环境变量

plugins: [
new webpack.DefinePlugin({
'process.env': {
MY_ENV_VARIABLE: JSON.stringify(configuration.myVariable),
},
}),
],

然后,除此之外,我更新了CI以更改包的名称,如果发布是用于分期的。

sed -i 's/"@username/my-package"/"@username/staging-package"/' package.json

这使我能够为登台和生产使用不同的包。

相关内容

  • 没有找到相关文章

最新更新