[隨筆] 升級uniapp舊項目的vue、pinia、vite、dcloudio依賴包等

匯總

# 升級uniapp項目dcloudio整體依賴,建議執行多次
# 會順帶自動更新/升級vue的版本
npx @dcloudio/uvm@latest alpha# 檢查 pinia 的最新版本
npm view pinia version# 更新項目 pinia 到最新版本
npm update pinia# 更新項目 pinia 到特定的版本
# 首先,修改項目packages.json里面對應依賴的版本,
# 然后運行:
npm install

前提

node -v 以前是v14.21.3 現在是v22.14.0
舊項目版本

"@dcloudio/uni-app": "^3.0.0-alpha-3050520220824001"

"vue": "^3.2.37"

"vite": "^2.9.14"
"pinia": "^2.0.20"

升級前的報錯

1)HBuilderX預覽項目后,無報錯,白屏,顯示運行地址
> Local: http://localhost:3000/xxx
將http://localhost:3000/xxx運行在右邊的Web瀏覽器中,運行,開始報錯(下一個報錯...)

2)報錯 vite.createFilter is not a function

原因:vite版本與安裝的依賴版本不匹配,升級vue版本或者降低vite版本
解決:vite.createFilter is not a function 問題解決-CSDN博客
(我們在執行“npx @dcloudio/uvm@latest alpha”之后就解決了)

升級后的報錯

3)升級vite到v5后,
報錯:Uncaught TypeError: (intermediate value).globEager is not a function,
出處:const modules = import.meta.globEager('./modules/**/*.ts')
解決辦法:vite3、4升級vite5后 import.meta.globEager方法不存在及ts異常問題解決?
解決辦法:https://blog.csdn.net/tekin_cn/article/details/144070214

4)報錯vue.runtime.esm.js? [sm]:1480 Error: [🍍]: "getActivePinia()" was called but there was no active Pinia. Are you trying to use a store before calling "app.use(pinia)"?

?...關鍵詞!before calling "app.use(pinia)" > 要么沒call,要么晚call...

報錯:

解決辦法:

1.先看看各種store有沒有正確的定義??
import { defineStore } from 'pinia'
export const useUserStore = defineStore({})

2.再看看各種store有沒有正確的引用 + useXXStore()實例化?
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()

3.確實沒問題,按照pinia官方手冊,完整對比下官網的所有步驟!(當前pinia版本)
手冊:https://pinia.vuejs.org/zh/getting-started.html
發現問題:main.js [main.ts] 未正確引入pinia。 >> 問題解決

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'const pinia = createPinia()
const app = createApp(App)app.use(pinia)
app.mount('#app')


?

5)報錯:$u未定義...
分析:$u是uviewUI (或者vk-uview-ui)的內置函數組合,掛載到uni全局對象中。
原因:uview未掛載成功,官網方法:https://uviewui.com/components/install.html?,
但本項目使用\src\plugins\index.ts統一掛載,另有pinia、vconsole等。

其中,淺談import.meta.glob和import.meta.globEager的區別?
既然isFunction通不過,那就,直接run! (...難不成isObject??)

import { App } from 'vue'
const modules = import.meta.glob('./modules/**/*.ts', {eager: true, import: 'default'
})export default {install: (app: App) => {for (const module of Object.values(modules)) {module(app)}}
}

ojbk!
?

6)...

More

NPX

NPM 是一個 Node 包管理器,NPX 是一個 Node 包執行器。Node 的執行也可以 NPM 來完成,但是必須進行本地安裝,通過定位本地路徑或者配置 scripts 來能執行。NPX 則通過一個簡單命令大大簡化了包運行的成本,既可以運行本地包,也可以遠程包,無需安裝包也可以執行該包,這就有效避免了本地磁盤污染的問題,節省了本地磁盤空間。

https://juejin.cn/post/7189924390274859066

更新依賴到指定版本

可以使用?@dcloudio/uvm?管理編譯器的版本,此工具僅自動增加或更新 uni-app 編譯器主要依賴,對于新增的編譯命令(scripts)暫時不會自動處理,需手動參考新工程進行配置。

https://uniapp.dcloud.net.cn/quickstart-cli.html#cliversion

uniapp版本管理器

uvm =?uni-app version manager

https://www.npmjs.com/package/@dcloudio/uvm

ending...

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

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

相關文章

【使用小皮面板 + WordPress 搭建本地網站教程】

🚀 使用小皮面板 WordPress 搭建本地網站教程(快速上手) 本教程將手把手教你如何使用 小皮面板(XAMPP 類似工具) 和 WordPress 搭建一個完全本地化的網站環境。適合 初學者 / 博主 / Web開發者 本地練習使用&#xf…

[更新完畢]2025五一杯A題五一杯數學建模思路代碼文章教學:支路車流量推測問題

完整內容請看文章最下面的推廣群 支路車流量推測問題 摘要 本文針對支路車流量推測問題展開研究,通過建立數學模型解決不同場景下的車流量分析需求。 針對問題一(Y型道路場景),研究兩支路匯入主路的車流量推測。通過建立線性增長…

前端面試寶典---webpack原理解析,并有簡化版源碼

前言 先看一下webpack打包后的bundle.js,前邊的直接掃一眼就過,可以發現這個立即執行函數的形參就是一個,key為引入文件路徑,value為該模塊代碼的函數。 所以比較重要的就是通過webpack的配置文件中的entry的入口文件&#xff0c…

面試的各種類型

面試是用人單位選拔人才的重要環節,常見的面試類型有結構化面試、半結構化面試、非結構化面試和壓力面試,每種類型都有其特點和應對策略。 一、結構化面試 特點: 標準化流程 面試流程固定,考官會按照預先設計好的問題清單依次向…

vue3定義全局防抖指令

文章目錄 代碼參數講解 在寫項目時,總會有要進行防抖節流的時候,如果寫一個debounce函數的話 用起來代碼總會是有點長的,因此想到了用一個全局指令進行輸入框的防抖,畢竟全局指令使用時只要v-xxx就行了,非常方便 代碼…

WebDeveloper 流量分析、sudo提權,靶場通關WP

一、信息收集 1、主機探測 arp-scan -l netdiscover -i eth0 -r 192.168.33.0/24 nmap -sP 192.168.66.0/24 2、端口掃描 nmap -sS -sV 192.168.66.141 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0) 80/tcp op…

某化工廠運維升級:智和信通運維平臺實現工業交換機智能管理

隨著某化工廠數字化轉型的加速推進,其生產過程對復雜網絡和IT設備的依賴程度日益加深。當前的網絡不僅承載著生產控制系統(如DCS、PLC等)的通信需求,還同時支持辦公自動化、安防監控、工業物聯網(IoT)等多種…

React:封裝一個編輯文章的組件

封裝一個編輯文章的組件,就要用到富文本編輯器,支持標題、內容、標簽等的編輯,并且能夠保存和取消。 首先,我需要考慮用戶的具體需求。編輯文章組件通常需要哪些功能?標題輸入、內容編輯、標簽管理、保存和取消按鈕。可能還需要自動保存草稿、驗證輸入、錯誤提示等功能。用…

數據結構與算法:圖論——并查集

先給出并查集的模板,還有一些leetcode算法題,以后遇見了相關題目再往上增加 并查集模板 整體模板C代碼如下: 空間復雜度: O(n) ,申請一個father數組。 時間復雜度 路徑壓縮后的并查集時間復雜度在O(logn)與O(1)之間…

精品推薦-湖倉一體電商數據分析平臺實踐教程合集(視頻教程+設計文檔+完整項目代碼)

精品推薦,湖倉一體電商數據分析平臺實踐教程合集,包含視頻教程、設計文檔及完整項目代碼等資料,供大家學習。 1、項目背景介紹及項目架構 2、項目使用技術版本及組件搭建 3、項目數據種類與采集 4、實時業務統計指標分析一——ODS分層設計與…

Git 基本操作(一)

目錄 git add git commit git log git status git diff git 版本回退 git reset git add git add 指令為添加工作區中的文件到暫存區中。 git add file_name; //將工作區名稱為file_name的文件添加進暫存區 git add .; //將工作區中的所有文件添加進暫存區 git comm…

docker打包鏡像時提示permission denied

sudo usermod -aG docker $USER //讓當前用戶加入docker用戶組 sudo systemctl restart docker //重新啟動docker服務 newgrp docker //更新組權限 來源:docker命令出現permission denied的解決方法_permission denied while trying to connect…

Deepseek常用高效提問模板!

DeepSeek高效提問秘籍大放送! 掌握這些實用提問模板,能讓你與DeepSeek的對話更加精準、高效! 1. 精準闡述需求 提問時務必清晰明確地表達問題或任務。例如: 欠佳的提問:“隨便說點內容。”優化后的提問&#xff1a…

地震資料偏移成像中,多次波(多次反射波)處理

在地震資料偏移成像中,多次波(多次反射波)會降低成像質量,導致虛假同相軸和構造假象。處理多次波需要結合波場分離和壓制技術,以下是主要方法和開源算法參考: 1. 多次波處理的核心方法 (1) 基于波場分離的…

quickbi finebi 測評(案例講解)

quickbi & finebi 測評 國產BI中入門門檻比較低的有兩個,分別是quickbi和finebi。根據我的經驗通過這篇文章做一個關于這兩款BI的測評文章。 quickbi分為個人版、高級版、專業版、私有化部署四種。這篇文章以quickbi高級版為例,對quickbi進行分享。…

【進階】--函數棧幀的創建和銷毀詳解

目錄 一.函數棧幀的概念 二.理解函數棧幀能讓我們解決什么問題 三.相關寄存器和匯編指令知識點補充 四.函數棧幀的創建和銷毀 4.1.調用堆棧 4.2.函數棧幀的創建 4.3 函數棧幀的銷毀 一.函數棧幀的概念 --在C語言中,函數棧幀是指在函數調用過程中,…

基于大模型預測的輸尿管癌診療全流程研究報告

目錄 一、引言 1.1 研究背景與意義 1.2 研究目的與創新點 二、大模型預測輸尿管癌的原理與方法 2.1 大模型技術概述 2.2 用于輸尿管癌預測的大模型選擇 2.3 數據收集與處理 2.4 模型訓練與優化 三、術前風險預測與手術方案制定 3.1 術前風險預測指標 3.2 大模型預測…

【Machine Learning Q and AI 讀書筆記】- 03 小樣本學習

Machine Learning Q and AI 中文譯名 大模型技術30講,主要總結了大模型相關的技術要點,結合學術和工程化,對LLM從業者來說,是一份非常好的學習實踐技術地圖. 本文是Machine Learning Q and AI 讀書筆記的第3篇,對應原…

PETR和位置編碼

PETR和位置編碼 petr檢測網絡中有2種類型的位置編碼。 正弦編碼和petr論文提出的3D Position Embedding。transformer模塊輸入除了qkv,還有query_pos和key_pos。這里重點記錄下query_pos和key_pos的生成 query pos的生成 先定義reference_points, shape為(n_query…

Ubuntu搭建 Nginx以及Keepalived 實現 主備

目錄 前言1. 基本知識2. Keepalived3. 腳本配置4. Nginx前言 ?? 找工作,來萬碼優才:?? #小程序://萬碼優才/r6rqmzDaXpYkJZF 爬蟲神器,無代碼爬取,就來:bright.cn Java基本知識: java框架 零基礎從入門到精通的學習路線 附開源項目面經等(超全)【Java項目】實戰CRU…