我想知道有没有人知道如何在“create-react-app”环境中使用https。我在README或快速谷歌搜索中找不到任何相关信息。我只想让https://localhost:3000正常工作,否则就是https://localhost:3001。
我想知道有没有人知道如何在“create-react-app”环境中使用https。我在README或快速谷歌搜索中找不到任何相关信息。我只想让https://localhost:3000正常工作,否则就是https://localhost:3001。
如果因为“您的连接不是私人连接”问题(在Chrome中),仍然无法正常工作,则以下方法适用于我:
https://github.com/facebook/create-react-app/issues/3441
简而言之:
您可以创建一个代理HTTP->HTTPS
创建一个密钥和证书。
openssl req -nodes -new -x509 -keyout server.key -out server.cert
创建一个名为proxyServer.js的文件。
var httpProxy = require('http-proxy');
let fs = require('fs');
httpProxy.createServer({
target: {
host: 'localhost',
port: 3000
},
ssl: {
key: fs.readFileSync('server.key', 'utf8'),
cert: fs.readFileSync('server.cert', 'utf8')
}
}).listen(3000);
从终端运行
node proxyServer.js
set HTTPS=true&&npm start
您还可以将此代码放入您的package.json文件中的scripts部分,如下所示:
"scripts": {
"start": "set HTTPS=true&&react-scripts start",
(...)
}
奖励:如果您想更改PORT,请使用以下命令:
set HTTPS=true&&set PORT=443&&react-scripts start
注意:不要在某些字符之间留空格。
您可以浏览此链接获取更多详细信息。
请编辑你的 package.json 文件,并修改启动脚本,以启动你的安全域名。例如 https。
{
"name": "social-login",
"version": "0.1.0",
"private": true,
"dependencies": {
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-facebook-login": "^4.0.1",
"react-google-login": "^3.2.1",
"react-scripts": "1.1.4"
},
"scripts": {
// update this line "start": "HTTPS=true react-scripts start",
"start": "set HTTPS=true&&react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
}
}
谢谢
($env:HTTPS = "true") -and (npm start)
我正在使用VS Code终端(powershell)。
"scripts": {
"start-dev": "set HTTPS=true&&set PORT=443&&react-scripts start"
},
它将使用https和端口443启动开发服务器。目前,NodeJs已知有bug无法正确运行此功能,但在nodeJs v8.11.3下,它可以正常工作 - 对我来说,下载地址是https://nodejs.org/dist/v8.11.3/node-v8.11.3-x64.msi。
"start": "react-scripts start",
为了
"start": "HTTPS=true react-scripts start",
set HTTPS=true && npm start
- Ali Yaghoubi