create-react-app:如何使用 https 而不是 http?

IT技术 reactjs create-react-app
2021-04-19 06:16:23

我想知道是否有人知道如何在“create-react-app”环境中在 dev 上使用 https。我在自述文件或快速谷歌搜索中看不到任何相关内容。我只想让https://localhost:3000工作,或者https://localhost:3001

6个回答

HTTPS=true在运行启动命令之前设置

文档

该实现使用HTTPS 环境变量来确定启动服务器时使用的协议

@Ringo 参加聚会有点晚,但这显示了如何设置PATHJava对于任何环境变量(例如Windows 上的HTTPSNODE_ENV或 what-have-you),这都是相同的过程您也可以打开 Windows 资源管理器,右键单击This PC,选择Properties,然后Advanced System Settings,然后单击Environment Variables按钮... &利润。
2021-05-22 06:16:23
我试过这个。我在 Windows 10 上运行:HTTPS=true&&npm start 这似乎不起作用。我像往常一样收到以下控制台消息:编译成功!您现在可以在浏览器中查看 x-app。本地: localhost:3000 在您的网络上: 192.168.2.4 :3000
2021-06-01 06:16:23
您的建议似乎与代理对安全 API 服务器的调用有关?我知道 react-scripts 只是调用类似 http-server 的东西。我也许可以通过查看输出来弄清楚
2021-06-02 06:16:23
你刚刚运行HTTPS=true&&npm start,在你需要的 Windows 上set HTTPS=true&&npm start
2021-06-08 06:16:23
在像 Mac 这样的 Unix 系统上,您可以将其导出到您的配置文件中。有一种在 Windows 上全局设置环境变量的等效方法,但我不熟悉它。但是,在项目层面dotenv应该在开始之前进行初始化,这样你就可以尝试添加HTTPS=true到你的.env.development
2021-06-10 06:16:23

您可以编辑 package.json 脚本部分以阅读:

"scripts": { "start": "set HTTPS=true&&react-scripts start", ... }

或者就跑 set HTTPS=true&&npm start

只是一个旁注,对我来说,由于某种原因,进行此更改会中断热重载....

-- 注意:操作系统 === Windows 10 64 位

为了让这个工作而不必每次我也把它放在我的 package.json 中输入它,但我不得不省略set&&以便它在我的 iMac 上工作。所以我刚用HTTPS=true react-scripts start
2021-05-29 06:16:23

你也可以在你的项目根目录下创建一个名为 .env 的文件,然后写

HTTPS=true

之后,只需像平常一样运行“npm start”即可启动您的应用程序。

文档:https : //facebook.github.io/create-react-app/docs/advanced-configuration

与此处发布的其他一些答案不同,适用于 Linux 和 Windows

这也是唯一对我有用的解决方案。谢谢 :)
2021-05-24 06:16:23
这是我一直在寻找的答案……谢谢。
2021-05-26 06:16:23

在 MAC/UNIX 的情况下做

export HTTPS=true
npm start

或简单的一个班轮

export HTTPS=true&&npm start

或者将 package.json 中的启动脚本更新为

"start": "export HTTPS=true&&PORT=3000 react-scripts start",

你应该能够点击https。

正是我所需要的……拯救了这一天。
2021-06-13 06:16:23

Windows (cmd.exe)

set HTTPS=true&&npm start

(注意:缺少空格是有意的。)

Windows (Powershell)

($env:HTTPS = "true") -and (npm start)

Linux、macOS (Bash)

HTTPS=true npm start

请注意,服务器将使用自签名证书,因此您的 Web 浏览器几乎肯定会在访问该页面时显示警告。

自定义 SSL 证书

HTTPS=true SSL_CRT_FILE=<SSLCert.crt> SSL_KEY_FILE=<SSLCert.key> npm start

Linux、macOS (Bash)

HTTPS=true SSL_CRT_FILE=<SSLCert.crt> SSL_KEY_FILE=<SSLCert.key> npm start

为了避免每次都这样做: 您可以像这样在 npm start 脚本中包含:

{
  "start": "HTTPS=true react-scripts start"
}

或者您可以使用HTTPS=true创建一个.env文件

Windows 中的自定义 SSL 证书: set HTTPS=true&&set SSL_CRT_FILE=<SSLCert.crt>&&set SSL_KEY_FILE=<SSLCert.key>&&npm start
2021-05-31 06:16:23
空白对我来说是个问题。在 MINGW64 上运行。
2021-06-20 06:16:23