【发布时间】:2021-12-25 22:34:34
【问题描述】:
我正在使用 Tailwind 构建一个简单的 React 应用程序。我使用了 create-react-app,然后安装了 tailwind。我以前做过很多次。
为了安装 Tailwind,我还必须安装 craco 并更改 package.json “脚本”以使用 craco,如下所示:
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
}
然而,这一次,当我运行npm start时,我得到了一个我以前从未遇到过的错误:
Error: error:0308010C:digital envelope routines::unsupported
所以我在 StackOverflow 上进行了搜索,有人建议将 --openssl-legacy-provider 添加到我的“开始”脚本中,如下所示:
"scripts": {
"start": "craco --openssl-legacy-provider start",
"build": "craco build",
"test": "craco test",
"eject": "react-scripts eject"
}
它现在正在工作。但是有人可以向我解释一下--openssl-legacy-provider 究竟是什么以及它是如何工作的吗?
【问题讨论】:
-
但为什么只发生在这一次而不是通常?以后我的所有项目都必须这样做吗?
-
“但为什么它只发生在这一次而不是通常发生?” 因为某些模块使用了不再支持的命令。 “我以后所有的项目都必须这样做吗?” 仅当您使用使用不受支持的命令的模块时。我不知道为什么不再支持此命令,以及它是否与安全有关,但使用不受支持的命令应该是一个危险信号。
-
哦。非常感谢。
标签: javascript npm openssl tailwind-css craco