You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Storybook中process.env.STORYBOOK_ENABLED不识别问题求助

React Native Storybook环境变量STORYBOOK_ENABLED不识别的解决办法

1. 适配Windows终端的环境变量语法

Windows的CMD、PowerShell与Unix类系统的环境变量设置语法不同,原脚本里的STORYBOOK_ENABLED='true'在Windows下无法被识别,可针对性修改:

  • 针对CMD终端:
"scripts": {
    ...,
    "storybook": "sb-rn-get-stories && set STORYBOOK_ENABLED=true && expo start"
}
  • 针对PowerShell终端:
"scripts": {
    ...,
    "storybook": "sb-rn-get-stories && $env:STORYBOOK_ENABLED='true'; expo start"
}

2. 用cross-env实现跨终端兼容

如果需要同时兼容Windows和Unix类终端,安装cross-env统一处理环境变量:
先执行安装命令:

yarn add cross-env --dev

再修改package.json脚本:

"scripts": {
    ...,
    "storybook": "cross-env STORYBOOK_ENABLED=true sb-rn-get-stories && expo start"
}

3. 临时硬编码验证流程(调试用)

若上述方法仍不生效,可先在app.config.js中硬编码值,确认Storybook核心流程是否正常:

export default ({ config }) => ({
  ...config,
  name: "Storybook Tutorial Template",
  slug: "storybook-tutorial-template",
  extra: {
    storybookEnabled: true, // 临时硬编码
  },
});

正常启动后再改回环境变量方式排查问题。

4. 调整环境变量设置的位置

若sb-rn-get-stories进程会阻断环境变量传递,将环境变量设置放在脚本最前端:

"scripts": {
    ...,
    "storybook": "cross-env STORYBOOK_ENABLED=true sb-rn-get-stories && expo start"
}

内容的提问来源于stack exchange,提问作者Markus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 11:14:56