此文本已使用 Salesforce 机器翻译系统进行翻译。如需了解更多详情,请点击此处。
Managed Runtime 环境变量允许您将变量添加到环境中运行的应用程序进程,而无需更改代码。环境变量被安全存储,使其非常适合以下用例:
有关详细信息,请参阅环境变量。
在本教程中,我们将在不更改代码的情况下使用环境变量更改 React.js 渲染。您可以通过 process.env 访问环境变量,这仅在 Node.js 中可用,在浏览器中不可用。PWA Kit 渲染是同构的,因为它在客户端和服务器上渲染。因此,要使环境变量在 React.js 中可用,您可以将它们添加到PWA Kit配置文件中,如本教程所示。
在此示例中,我们将使用环境变量在您的站点上启用功能。例如,在有限的时间内,您可以测试一项新功能,例如快速结账。然后,您可以监控购物者对该功能的参与度,以了解其影响。
要完成本教程,首先:
在运行本教程中的命令之前,请将所有占位符替换为实际值。占位符的格式如 $PLACEHOLDER。
在您的项目中,创建您选择的内容或功能。例如,在主页上创建主推横幅。
要在当前会话中设置环境变量,请打开终端并运行以下命令:
set ENABLE_FEATURE='true'export ENABLE_FEATURE=‘true’通过运行以下命令检查环境变量是否设置正确:
echo %$ENABLE_FEATURE%echo $ENABLE_FEATURE该命令返回以下输出:true
将此 JavaScript 代码添加到项目 — 的配置文件中config/default.js:
1function parseEnvVar(envVarName) {
2 const val = process.env[envVarName];
3 if (val === undefined) {
4 throw new Error(`Environment variable ${envVarName} is required.`);
5 }
6 try {
7 return JSON.parse(val);
8 } catch (err) {
9 throw new Error(
10 `Environment variable ${envVarName} must be a valid JSON string.`
11 );
12 }
13}
14module.exports = {
15 app: {
16 enableFeature: parseEnvVar("ENABLE_FEATURE") || false,
17 },
18};app/pages/home/index.jsx:1import { getConfig } from "@salesforce/pwa-kit-runtime/utils/ssr-config";
2
3const Home = () => {
4 const config = getConfig();
5 const enableFeature = config.app.enableFeature;
6 return enableFeature && <h1>My New Feature</h1>
7};
8
9export default Home;npm start 启动开发服务器,然后在本地导航到主页以查看渲染的功能。建议在非生产环境中测试这些步骤,然后再将更改部署到生产环境。
在运行本教程中的命令之前,请将所有占位符替换为实际值。占位符的格式如 $PLACEHOLDER。
1curl "https://cloud.mobify.com/api/projects/$PROJECT_ID/target/$ENVIRONMENT_ID/env-var/" \
2 --request 'PATCH' \
3 --header 'Content-Type: application/json' \
4 --header 'Accept: application/json' \
5 --header "Authorization: Bearer $MOBIFY_API_KEY" \
6 --data '{"ENABLE_FEATURE": {"value": "true"}}'