在 Windows 上使用 choco 安裝 mkcert 并配置 Vue 運行HTTPS

解決在Windows上使用Vue本地運行HTTPS的問題,vue-cli或vite都可以使用

步驟 1:確認 Chocolatey 是否已安裝

1. 檢查 choco 命令是否可用

打開 PowerShell(管理員權限),輸入:

choco -v
  • 如果顯示版本號(如 2.4,3),說明已安裝 Chocolatey。
    在這里插入圖片描述

  • 如果提示 命令未找到,需先安裝 Chocolatey。

步驟 2:安裝 Chocolatey(如未安裝)

1. 以管理員身份運行 PowerShell

右鍵點擊 PowerShell 圖標,選擇 以管理員身份運行。

2. 執行安裝命令

在 PowerShell 中輸入:

Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
  • 此命令會繞過執行策略并安裝 Chocolatey。

3. 驗證安裝

輸入 choco -v 或 choco --version,應顯示版本號。
在這里插入圖片描述
其他的choco命令在文章末尾有 使用例子

步驟 3:使用 choco 安裝 mkcert

1. 安裝 mkcert

在 PowerShell(管理員)中運行:

choco install mkcert
  • 按提示輸入 Y 確認安裝。

2. 初始化本地證書存儲

mkcert -install
  • 此操作會將 mkcert 的根證書添加到系統信任列表,解決瀏覽器警告。

步驟 4:為本地開發生成證書

1. 生成 localhost 證書

mkcert localhost
  • 生成兩個文件:localhost.pem(證書)和 localhost-key.pem(私鑰)。
  • 也可以將兩個文件放入一個文件夾下,比如創建http_ssl文件夾,然后目錄切換到改文件夾執行mkcert命令
    在這里插入圖片描述

步驟 5:配置 Vue 項目使用 HTTPS

1. 項目配置

1. vue-cli修改 vue.config.js

在項目根目錄創建或修改 vue.config.js,添加以下內容:

const fs = require("fs");
const path = require("path");module.exports = {devServer: {https: {key: fs.readFileSync(path.resolve(__dirname, "localhost-key.pem")),cert: fs.readFileSync(path.resolve(__dirname, "localhost.pem")),},// port: 8080 // 可選,指定端口},
};
2. vite修改vite.config.js

在項目根目錄創建或修改 vite.config.js,添加以下內容:

import path from 'path'
import fs from 'fs'
import { defineConfig} from 'vite'
export default defineConfig(({ command, mode }) => {const config = {server: {https: {// 'https_ssl/localhost-key.pem' 為第四步生產localhost-key.pem文件的位置key: fs.readFileSync(path.resolve(__dirname, 'https_ssl/localhost-key.pem')),// 'https_ssl/localhost.pem' 為第四步生產localhost.pem文件的位置cert: fs.readFileSync(path.resolve(__dirname, 'https_ssl/localhost.pem'))}}}return config
})

2. 重啟 Vue 開發服務器

npm run serve

3. 訪問 HTTPS 地址

打開瀏覽器訪問:(端口和localhost 根據項目運行ip和端口修改)
https://localhost:8080

  • 瀏覽器應顯示安全鎖圖標(無警告)。

常見問題解決

1. choco 安裝失敗

  • 確保使用管理員權限運行 PowerShell。
  • 檢查網絡是否允許下載腳本(某些企業網絡可能攔截)。

2. 證書生成路徑錯誤

  • 確認 localhost.pem 和 localhost-key.pem 在項目根目錄。
  • 如果文件在其他位置,修改 vue(vite).config.js 中的路徑。

3. 瀏覽器仍提示不安全

  • 確保運行了 mkcert -install。
  • 重啟瀏覽器或清除緩存。

步驟總結: 完整流程總結

  1. 安裝 Chocolatey(如未安裝)。
  2. 通過 choco 安裝 mkcert。
  3. 生成并信任本地證書。
  4. 配置 Vue 項目使用證書。
  5. 啟動 HTTPS 服務。

通過以上步驟,即可在 Windows 上安全地通過 HTTPS 運行 Vue 項目。

擴展:使用 choco 命令

安裝 Chocolatey 后,你可以使用 choco 命令來安裝、更新和管理軟件包。

常用命令:

安裝軟件包:
choco install <package-name>

例如,安裝 git:

choco install git
升級軟件包:
choco upgrade <package-name>
卸載軟件包:
choco uninstall <package-name>
搜索軟件包:
choco search <keyword>
列出已安裝的軟件包:
choco list --local-only

示例:安裝 OpenSSL

如果你需要安裝 OpenSSL(例如用于生成 SSL 證書),可以使用以下命令:

choco install openssl

安裝完成后,你可以通過以下命令驗證是否安裝成功:

openssl version

更新 Chocolatey

如果需要更新 Chocolatey 本身,可以運行以下命令:

choco upgrade chocolatey

卸載 Chocolatey

如果你不再需要 Chocolatey,可以通過以下命令卸載:

choco uninstall chocolatey

注意事項

  • Chocolatey 默認會將軟件包安裝到 C:\ProgramData\chocolatey\lib 目錄。
  • 安裝某些軟件包時,可能需要管理員權限。
  • 如果你在使用 choco 命令時遇到問題,可以嘗試以管理員身份運行 PowerShell 或 CMD。

通過 Chocolatey,你可以更方便地管理和安裝 Windows 上的軟件包,包括開發工具、實用程序等。如果你經常在 Windows 上開發,Chocolatey 是一個非常實用的工具。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72469.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72469.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72469.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【PHP】新版本特性記錄(持續更新)

文章目錄 前言PHP 7.01&#xff09;NULL合并運算符&#xff1a;??2&#xff09;參數、返回值支持類型聲明3&#xff09;太空船操作符&#xff1a;<>4&#xff09;通過 define 定義常量數組5&#xff09;匿名類實例化6&#xff09;字符串里使用\u轉義unicode codepoint …

【記】如何理解kotlin中的委托屬性?

1. 什么是委托屬性&#xff1f; 委托屬性的核心思想是&#xff1a; 你可以將一個屬性的 getter 和 setter 的邏輯交給一個外部對象&#xff08;稱為委托對象&#xff09;來處理。這個外部對象負責存儲屬性的值&#xff0c;并提供自定義的 get 和 set 行為。 通過委托屬性&am…

使用自動導入后,eslint報錯 eslint9

前提&#xff1a;使用pnpm create vuelatest創建vue應用&#xff0c;并且在創建項目時就勾選eslint和prettier&#xff0c;不然有些配置還需要手動配&#xff0c;比如解決eslint和prettier的沖突問題 1. 解決使用自動導入后Eslint報錯問題 配置vite.config.ts // 自動導入api…

springboot EasyExcel 實現導入導出

1. 添加依賴 確保 Maven 依賴中包含 EasyExcel 3.0.5&#xff1a; <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency><!-- excel工具 --><dep…

實現懸浮按鈕拖動,兼容h5和微信小程序

h5用js寫&#xff0c;微信小程序用 代碼里面沒有完全實現吸附邊緣的功能&#xff0c;需要吸附邊緣的話還得自己再完善下&#xff08;h5的吸附邊緣是可以的&#xff0c;小程序的還有點問題&#xff09; 主要功能是&#xff1a;圖片上寫文字的懸浮按鈕&#xff0c;文字使用的是…

2、操作系統之軟件基礎

一、硬件支持系統 &#xff0c;系統管理硬件 操作系統核心功能可以分為&#xff1a; 守護者&#xff1a;對硬件和軟件資源的管理協調者&#xff1a;通過機制&#xff0c;將各種各樣的硬件資源適配給軟件使用。 所以為了更好的管理硬件&#xff0c;操作系統引進了軟件。其中3大…

17 | 實現簡潔架構的 Biz 層

提示&#xff1a; 所有體系課見專欄&#xff1a;Go 項目開發極速入門實戰課&#xff1b;歡迎加入 云原生 AI 實戰 星球&#xff0c;12 高質量體系課、20 高質量實戰項目助你在 AI 時代建立技術競爭力&#xff08;聚焦于 Go、云原生、AI Infra&#xff09;&#xff1b;本節課最終…

idea更新git代碼報錯No Git Roots

idea更新git代碼報錯&#xff1a; No Git Roots None of configured Git roots are under Git. The configured directory must have ".git directory in it.但是本地項目里是存在.git文件的&#xff0c;就是突然間不能更新代碼了 然后嘗試重新拉新項目代碼提示: Git i…

Webpack 知識點整理

? 1. 對 webpack 的理解&#xff1f;解決了什么問題&#xff1f; Webpack 是前端工程化領域的核心工具&#xff0c;其核心定位是模塊打包器&#xff08;Module Bundler&#xff09;&#xff0c;通過將各類資源&#xff08;JS、CSS、圖片等&#xff09;視為模塊并進行智能整合…

[Hello-CTF]RCE-Labs超詳細WP-Level13Level14(PHP下的0/1構造RCE命令簡單的字數限制RCE)

Level 13 源碼分析 這題又回到了 PHP重點關注preg_match("/[A-Za-z0-9\"%*,-.\/:;>?[\]^|]/", $cmd)禁用了所有數字, 并且回到了 PHP, 沒辦法用上一關的方法進行繞過但是比起上一關, 給我們少繞過了 &, ~, _似乎有其他方法 解題分析 利用 $(()) 和 …

Qt 控件概述 QWdiget 1.1

目錄 qrc機制 qrc使用 1.在項目中創建一個 qrc 文件 2.將圖片導入到qrc文件中 windowOpacity&#xff1a; cursor 光標 cursor類型 自定義Cursor font tooltip focusPolicy styleSheet qrc機制 之前提到使用相對路徑的方法來存放資源&#xff0c;還有一種更好的方式…

【eNSP實戰】將路由器配置為DHCP服務器

拓圖 要求&#xff1a; 為 office100 和 office200 分別配置地址池 AR1接口配置 interface GigabitEthernet0/0/0ip address 192.168.100.1 255.255.255.0 # interface GigabitEthernet0/0/1ip address 192.168.200.1 255.255.255.0 AR1路由器上創建office100地址池 [AR1…

數據結構——順序表seqlist

前言&#xff1a;大家好&#x1f60d;&#xff0c;本文主要介紹了數據結構——順序表部分的內容 目錄 一、線性表的定義 二、線性表的基本操作 三.順序表 1.定義 2. 存儲結構 3. 特點 四 順序表操作 4.1初始化 4.2 插入 4.2.1頭插 4.2.2 尾插 4.2.3 按位置插 4.3 …

OSPF | LSDB 鏈路狀態數據庫 / SPF 算法 / 實驗

注&#xff1a;本文為 “OSPF | LSDB / SPF ” 相關文章合輯。 LSDB 和 SPF 算法 瀟湘浪子的蹋馬骨湯 發布 2019-02-15 23:58:46 1. 鏈路狀態數據庫 (LSDB) 鏈路狀態協議除了執行洪泛擴散鏈路狀態通告&#xff08;LSA&#xff09;以及發現鄰居等任務外&#xff0c;其第三個任…

前端---CSS(前端三劍客)

1.基本語法規范 選擇器 {?條/N條聲明} ? 選擇器決定針對誰修改 (找誰) ? 聲明決定修改啥. (?啥) ? 聲明的屬性是鍵值對. 使? ; 區分鍵值對, 使? : 區分鍵和值 比如&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta…

【C++】 —— 筆試刷題day_6

刷題day_6&#xff0c;繼續加油哇&#xff01; 今天這三道題全是高精度算法 一、大數加法 題目鏈接&#xff1a;大數加法 題目解析與解題思路 OK&#xff0c;這道題題目描述很簡單&#xff0c;就是給我們兩個字符串形式的數字&#xff0c;讓我們計算這兩個數字的和 看題目我…

todolist docker 小工具

參考鏈接 前排提示 沒有中文&#xff0c;可使用瀏覽器 翻譯 前提 安裝docker安裝docker-compose 下載倉庫 git clone https://github.com/JordanKnott/taskcafe進行安裝 cd taskcafe docker-compose -p taskcafe up -d服務啟動后會監聽在 3333 端口上&#xff0c;通過瀏覽器…

Unity--GPT-SoVITS接入、處理GPTAPI的SSE響應流

GPT-SoVITS GPT-SoVITS- v2&#xff08;v3也可以&#xff0c;兩者對模型文件具有兼容&#xff09; 點擊后 會進入新的游覽器網頁 ----- 看了一圈&#xff0c;發現主要問題集中在模型的訓練很需要CPU&#xff0c;也就是模型的制作上&#xff0c;問題很多&#xff0c;如果有現有…

《TypeScript 快速上手:類型、編譯與嚴格模式的簡明教程》

一、TypeScript介紹 在引入編程社區 20 多年后&#xff0c;JavaScript 現在已成為有史以來應用最廣泛的跨平臺語言之一。JavaScript 最初是一種用于向網頁添加微不足道的交互性的小型腳本語言&#xff0c;現已發展成為各種規模的前端和后端應 用程序的首選語言。雖然用 JavaSc…

ROS2 系統架構

1.操作系統層 ros2是基于Linux、Windows、macOS系統建立的&#xff0c;這一層為ros2提供了各種基礎的硬件驅動&#xff0c;比如網卡驅動&#xff0c;常用USB驅動和常用攝像頭驅動等。 2.DDS實現層 ros2的核心通信是采用第三方的通信組件來實現的&#xff0c;這個第三方就是數…