如何为yarn run启用HTTPS?--https参数无效问题咨询
解决yarn start --https无法启用HTTPS的问题
我来帮你排查这个问题,咱们一步步来解决:
1. 先检查package.json里的启动脚本
首先打开项目根目录的package.json,找到scripts区块里的start命令。这个Teachable Machine Boilerplate项目的启动脚本大概率基于webpack-dev-server这类开发服务器工具,问题往往出在命令行参数没有正确传递给底层的启动命令。
比如如果你的start脚本是这样的:
"scripts": { "start": "webpack serve" }
直接跑yarn run start --https可能不会生效,因为参数没被正确传递给webpack serve命令。
2. 用双破折号传递参数
很多时候,给npm/yarn脚本加参数时,需要用--来告诉工具把后面的参数传递给底层命令。你可以试试运行:
yarn run start -- --https
这里的第一个--是告诉yarn,后面的--https要传递给start脚本对应的命令(比如webpack serve)。
3. 直接修改package.json固化配置
如果不想每次都手动加参数,你可以直接修改package.json里的start脚本,把--https直接加进去:
"scripts": { "start": "webpack serve --https" }
这样以后直接跑yarn start就会默认用HTTPS启动了。
4. 手动配置webpack的devServer(终极方案)
如果上面的方法都没用,那就直接修改webpack配置文件(比如项目里的webpack.config.js),在devServer配置项里强制开启HTTPS:
const fs = require('fs'); module.exports = { // ...其他已有的配置 devServer: { https: true, // 要是你有自定义证书的话,还可以加上这些配置(可选): // key: fs.readFileSync('./path/to/your/server.key'), // cert: fs.readFileSync('./path/to/your/server.crt'), } };
保存配置后重启服务,就能看到HTTPS生效了。
最后验证一下:启动后访问https://localhost:xxxx(xxxx是项目的端口号,一般是3000或者8080),浏览器地址栏显示安全锁就说明成功了。
内容的提问来源于stack exchange,提问作者scottlittle
相关产品推荐
相关产品推荐

