首页 > 解决方案 > Dockerized Create React App 不会打开新选项卡

问题描述

使用 Docker 运行我的应用程序时,我注意到一个奇怪的行为 - 它没有打开新选项卡。如果我使用 npm/yarn start 手动运行我的应用程序,选项卡会正常打开。

我在 .env 中没有“BROWSER=none”

标签: reactjsdockercreate-react-app

解决方案


这是因为 create-react-app 启动脚本试图打开本地浏览器。这是启动脚本的相关部分之一:

/**
 * Attempts to open the browser with a given URL.
 *
 * On Mac OS X, attempts to reuse an existing Chrome tab via AppleScript.
 *
 * Otherwise, falls back to [open](https://github.com/sindresorhus/open) behavior.
 */
declare function openBrowser(url: string): boolean;
export = openBrowser;

但是,如果您的应用程序在 docker 容器中运行,则它就像在单独的机器或 VM 上运行一样。哪个没有安装浏览器。

而且 Docker 容器的工作方式,它们不能仅仅调用主机的程序(没有相当复杂的变通方法)。


推荐阅读