4

我想在我的 Windows 中运行一个 React 项目(作为我的 Mac 的虚拟机)。

在命令提示符下,运行yarn后安装依赖项。我做到了yarn start。它给了我'HTTPS' is not recognized as an internal or external command错误。

> yarn start
yarn run v1.13.0
$ HTTPS=true CERT=cert/localhost.crt KEY=cert/localhost.key umi dev
'HTTPS' is not recognized as an internal or external command,
operable program or batch file.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

有谁知道如何解决这一问题?

编辑 1

我将节点升级到v12.16.1yarn1.13.0,npm 到6.13.4),并且做了yarn add httpsyarn add https-localhost。然而,yarn start还是回来了'HTTPS' is not recognized as an internal or external command

umi dev返回'umi' is not recognized as an internal or external command, operable program or batch file.

>umi dev
'umi' is not recognized as an internal or external command, 
operable program or batch file.
4

5 回答 5

5

只需将以下行添加到.env

HTTPS=true

PORT=8080

HOST=localhost

如果您想使用其他主机或端口,请随意将 localhost 替换为您想要的 IP 地址和任何可用端口号的端口。如果您没有.env文件,只需在您的反应根文件夹中创建它。

在此之后,您可以运行yarn startornpm start并且您的项目将使用 https 而不是http.

于 2020-04-20T14:04:40.690 回答
3

在 Windows 上,您需要在“set HTTPS=true”中包含“set”来设置环境变量。

于 2020-04-20T13:26:39.167 回答
1

暂时的

而不是:“开始”:“CERT=cert/localhost.crt KEY=cert/localhost.key umi dev react-scripts start”,

只做这个:“start”:“react-scripts start”,

于 2020-09-15T16:44:26.957 回答
0

我只是在 Windows 上遇到了同样的问题,但我使用Git Bash而不是“命令提示符” 。所以如果你喜欢 Git Bash,这个答案可能对你有帮助。

  1. 第一步:将你的 package.json 保留为原始形式,我们将在接下来的步骤中添加环境变量:

    包.json


  1. 第二步:创建一个将设置环境变量的文件:

    在此处输入图像描述


  1. 第三步:将环境变量添加到该文件中。set对我不起作用,但export确实:

    在此处输入图像描述

注意:默认端口是 3000,所以如果你没有在这个文件中导出端口,React 将从 'https://localhost:3000' 开始


  1. 第四步:source文件。你基本上有2个选择:
    • 选项 1:为了仅将这些变量用于当前会话:
      在此处输入图像描述

    • 选项 2:为了在任何会话中使用这些变量,请将这些行添加到您的~/.bashrc文件中:
      在此处输入图像描述


  1. 第五步:运行npm startoryarn start你应该在 localhost 上使用 https:

    在此处输入图像描述

注意:我这里没有导出 PORT,只是使用默认的 3000 端口。

于 2020-09-29T16:25:39.663 回答
-1

我只是在文件 package.json 中删除 "start": "HTTPS=true react-scripts start", 到 "start": "react-scripts start"

于 2021-06-10T06:25:28.827 回答