vite+vue3開發uni-app時低版本瀏覽器不支持es6語法的問題排坑筆記

重要提示:請首先完整閱讀完文章內容后再操作,以免不必要的時間浪費!切記!!!在使用vite+vue3開發uni-app項目時,存在低版本瀏覽器不兼容es6語法的問題,如“?.” “??” 等。為了方便使用jenkins自動化部署前端項目,我使用的是 uni-cli而非HBuilderX 創建的項目,當然使用uni-cli創建uni-app項目還有一個好處是可以使用其他軟件如 vscode、Cursor 或者webstrom進行開發,這些軟件可以集成AI功能,能方便我們使用AI輔助開發,提升開發效率。在我的項目中使用的vite版本是5.2.8,如果需要前端項目支持低版本的瀏覽器,或者需要將較新的es語法轉換成更低版本,那么只需要在 vite.config.js 中添加 build.target 配置即可,vite官方文檔顯示build.target的值為string或者string[],可以根據自己的兼容需求進行配置。如果未顯式配置build.target,那么vite會使用默認值“modules”,根據文檔說明,其作用等同于 ['es2020', 'edge88', 'firefox78', 'chrome87', 'safari14']。需要額外說明的是,對于vite5.2.8或之后的版本不需要再單獨安裝使用包括 @vitejs/plugin-legacy以及其他任何babel插件解決瀏覽器兼容問題,前文提到vite已經內置了相關配置項(build.target),如果你強行在plugins中使用 legacy(),那么在執行 npm run build 打包時也會有相關配置已被替換的提示。最坑的點是,不要在開發階段(npm run dev)到低版本瀏覽器上驗證build.target配置是否生效,必須用npm run build 打包生成的代碼來驗證,因為這個配置在開發環境是不起作用的,我被整整浪費了3個小時才發現的這個問題,當然可能有我不知道的配置項來控制這個行為。
import { defineConfig } from 'vite'
import uni from '@dcloudio/vite-plugin-uni'
// import legacy from '@vitejs/plugin-legacy'// https://vitejs.dev/config/
export default defineConfig({plugins: [uni(),// legacy({//     targets: [//         "> 1%, last 1 version, ie >= 11",//         "safari >= 10",//         "Android > 39",//         "Chrome >= 60",//         "Safari >= 10.1",//         "iOS >= 10.3",//         "Firefox >= 54",//         "Edge >= 15"//     ],// })],build: {sourcemap: true,target: ['chrome58','firefox67','safari11','edge79',],},
})

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

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

相關文章

《計算機視覺》——角點檢測和特征提取sift

角點檢測 角點的定義: 從直觀上理解,角點是圖像中兩條或多條邊緣的交點,在圖像中表現為局部區域內的灰度變化較為劇烈的點。在數學和計算機視覺中,角點可以被定義為在兩個或多個方向上具有顯著變化的點。比如在一幅建筑物的圖像…

WWW 2025 | 中南、微軟提出端到端雙重動態推薦模型,釋放LLM在序列推薦中的潛力...

©PaperWeekly 原創 作者 | 殷珺 單位 | 中南大學碩士研究生 研究方向 | 大語言模型、推薦系統 論文題目: Unleash LLMs Potential for Sequential Recommendation by Coordinating Dual Dynamic Index Mechanism 論文鏈接: https://openreview.net…

c# 2025/2/17 周一

16. 《表達式,語句詳解4》 20 未完。。 表達式,語句詳解_4_嗶哩嗶哩_bilibili

數據結構與算法面試專題——堆排序

完全二叉樹 完全二叉樹中如果每棵子樹的最大值都在頂部就是大根堆 完全二叉樹中如果每棵子樹的最小值都在頂部就是小根堆 設計目標:完全二叉樹的設計目標是高效地利用存儲空間,同時便于進行層次遍歷和數組存儲。它的結構使得每個節點的子節點都可以通過簡…

iOS開發書籍推薦 - 《高性能 iOS應用開發》(附帶鏈接)

引言 在 iOS 開發的過程中,隨著應用功能的增加和用戶需求的提升,性能優化成為了不可忽視的一環。尤其是面對復雜的界面、龐大的數據處理以及不斷增加的后臺操作,如何確保應用的流暢性和響應速度,成為開發者的一大挑戰。《高性能 …

微信小程序的制作

制作微信小程序的過程大致可以分為幾個步驟:從環境搭建、項目創建,到開發、調試和發布。下面我會為你簡要介紹每個步驟。 1. 準備工作 在開始開發微信小程序之前,你需要確保你已經完成了以下幾個步驟: 注冊微信小程序賬號&…

LabVIEW 中dde.llbDDE 通信功能

在 LabVIEW 功能體系中,位于 C:\Program Files (x86)\National Instruments\LabVIEW 2019\vi.lib\Platform\dde.llb 的 dde.llb 庫占據著重要的地位。作為一個與動態數據交換(DDE)緊密相關的庫文件,它為 LabVIEW 用戶提供了與其他…

gitte遠程倉庫修改后,本地沒有更新,本地與遠程倉庫不一致

問題 :gitte遠程倉庫修改后,本地沒有更新,本地與遠程倉庫不一致 現象: [cxqiZwz9fjj2ssnshikw14avaZ rpc]$ git push Username for https://gitee.com: beihangya Password for https://beihangyagitee.com: To https://gitee.c…

組合模式詳解(Java)

一、組合模式基本概念 1.1 定義與類型 組合模式是一種結構型設計模式,它通過將對象組織成樹形結構,來表示“部分-整體”的層次關系。這種模式使得客戶端可以一致地對待單個對象和組合對象,從而簡化了客戶端代碼的復雜性。組合模式的核心在于定義了一個抽象組件角色,這個角…

LabVIEW危化品倉庫的安全監測系統

本案例展示了基于LabVIEW平臺設計的危化品倉庫安全監測系統,結合ZigBee無線通信技術、485串口通訊技術和傳感器技術,實現了對危化品倉庫的實時無線監測。該系統不僅能提高安全性,還能大幅提升工作效率,確保危化品倉庫的安全運營。…

【私人筆記】Web前端

Vue專題 vue3 vue3 頁面路徑前面添加目錄 - 路由base設置 - vite設置base https://mbd.baidu.com/ma/s/XdDrePju 修改vite.config.js export default defineConfig({base: /your-directory/,// 其他配置... }); vue2 uniapp 【持續更新】uni-app學習筆記_uniapp快速復制一…

數倉搭建:DWB層(基礎數據層)

維度退化: 通過減少表的數量和提高數據的冗余來優化查詢性能。 在維度退化中,相關的維度數據被合并到一個寬表中,減少了查詢時需要進行的表連接操作。例如,在銷售數據倉庫中,客戶信息、產品信息和時間信息等維度可能會被合并到一…

【Linux】進程間通信——進程池

文章目錄 進程池什么進程池進程池的作用 用代碼模擬進程池管道信息任務類InitProcesspool()DisPatchTasks()任務的執行邏輯(Work)CleanProcessPool() 封裝main.ccChannel.hppProcessPool.hppTask.hppMakefile 總結總結 進程池 什么進程池 進程池&#…

13-跳躍游戲 II

給定一個長度為 n 的 0 索引整數數組 nums。初始位置為 nums[0]。 每個元素 nums[i] 表示從索引 i 向后跳轉的最大長度。換句話說&#xff0c;如果你在 nums[i] 處&#xff0c;你可以跳轉到任意 nums[i j] 處: 0 < j < nums[i] i j < n 返回到達 nums[n - 1] 的最…

Qt的QToolBox的使用

QToolBox 是 Qt 框架中的一個控件&#xff0c;用于創建一個可折疊的“工具箱”界面&#xff08;類似 Windows 資源管理器的側邊欄&#xff09;。每個子項可以展開或折疊&#xff0c;適合用于分組顯示多個功能模塊。以下是其基本用法和示例&#xff1a; 1. 基本用法 創建并添加…

《DeepSeek 一站式工作生活 AI 助手》

最近國產AI工具DeepSeek在全球火出圈&#xff0c;登頂多個國家應用商店&#xff0c;下載量一路飆升。這匹AI “黑馬” 到底憑什么征服全球用戶&#xff1f;讓我們全方位解鎖DeepSeek——從基礎入門到高階玩法&#xff0c;從實用技巧到隱藏功能。 DeepSeek是一款功能強大的國產A…

Java中CompletableFuture異步工具類

參考&#xff1a;CompletableFuture 詳解 | JavaGuide 實際項目中&#xff0c;一個接口可能需要同時獲取多種不同的數據&#xff0c;然后再匯總返回&#xff0c;舉個例子&#xff1a;用戶請求獲取訂單信息&#xff0c;可能需要同時獲取用戶信息、商品詳情、物流信息、等數據。…

Oracle Rac 多路徑鏈路不穩定引發IO降速-光弱

一、背景 今天突然被異地的同事拉來開遠程會議&#xff0c;會議內容是開發反饋每天9點左右有個sqlldr 命令的腳本調用突然執行很慢&#xff0c;以前幾秒的導入操作現在需要30-60s左右&#xff0c;而且數據量基本相同。 二、分析 1&#xff09;、查看ASH報告 從報告上確認是數…

哈希表-兩個數的交集

代碼隨想錄-刷題筆記 349. 兩個數組的交集 - 力扣&#xff08;LeetCode&#xff09; 內容: 集合的使用 , 重復的數剔除掉&#xff0c;剩下的即為交集&#xff0c;最后加入數組即可。 class Solution {public int[] intersection(int[] nums1, int[] nums2) {Set<Integer…

[JVM篇]分代垃圾回收

分代垃圾回收 分代收集法是目前大部分 JVM 所采用的方法&#xff0c;其核心思想是根據對象存活的不同生命周期將內存劃分為不同的域&#xff0c;一般情況下將 GC 堆劃分為老生代(Tenured/Old Generation)和新生代(Young Generation)。老生代的特點是每次垃圾回收時只有少量對象…