@nativescript-dev/multiple-environments
为 NativeScript 提供多环境钩子
npm i --save @nativescript-dev/multiple-environments

所有荣誉归 Brendan Ingham,此神奇钩子的原始创建者。

@nativescript-dev/multiple-environments

此钩子旨在用于在 NativeScript 应用程序中使用多个环境。

实际上,这是一个针对 NS 7 CLI 适配的 nativescript-dev-multiple-environments 的副本。

它做了什么

首先,它将你的 packageId 更改为你在 environment-rules.json 中声明的任何内容

它还会复制任何以环境名称后缀的文件,例如:App_Resources/Android/google-services.staging.json 将在构建前被复制到 App_Resources/Android/google-services.json

选择环境

一旦你有了初始的 environment-rules.json 文件,你可以使用 --env.use.ENV_NAME 在环境之间切换

例如,对于 iOS:tns run ios --env.use.staging

这也可以与其他 --env 参数一起使用,例如

tns run ios --bundle --env.aot --env.uglify --env.use.release

环境

为你生成一个基本的 environment-rules.json 文件,它看起来像这样


{
"version": "1.0.0",
"default": "staging",
"extraPaths": [
'app/environments'
],
"environments": [
{
name: "staging",
packageId: "org.nativescript.appName.staging",
copyRule: "(.*\\.staging\\..*)"
},
{
name: "release",
packageId: "org.nativescript.appName.release",
copyRule: "(.*\\.release\\..*)"
}
]
}

你可以随意修改它,并添加你喜欢的任意多个环境。

ExtraPaths 是可选的,但可以在应用程序内添加多个路径。这些将遵循相同的规则。