關于npm前端項目編譯時棧溢出 Maximum call stack size exceeded的處理方案

背景:使用vue+elementui的前端項目,使用jenkins進行自動化編譯部署,某天在進行編譯發版的時候,突然出現?npm ERR! Maximum call stack size exceeded 錯誤,一直都沒法編譯成功。

原因:隨著前端項目的不斷迭代,代碼和依賴模塊越來越多,編譯時需要的內存需要越來越大,默認情況下node.js的編譯內存是(32 位系統:約 0.7GB,64 位系統:約 1.7GB),編譯內存不夠導致編譯失敗。

處理方案:

前端項目引入跨平臺環境變量設置工具cross-env模塊,然后設置編譯時的內存大小。

步驟一:

在前端項目引入依賴,執行如下命令:

npm install --save-dev cross-env



步驟二:對package.json的編譯命令里設置內存參數:

"build:prod": "cross-env NODE_OPTIONS=--max-old-space-size=4096 vue-cli-service build --mode prod",

對于不同的編譯命令,在對應命令前增加?cross-env NODE_OPTIONS=--max-old-space-size=4096 參數即可,我方項目是用?npm run build:tclprod 進行編譯的,所以對package.json包的build:prod進行添加參數。

步驟三:執行?npm run build:tclprod 即可正常完成編譯。

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

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

相關文章

微信小程序組件發布為 npm 包的具體步驟

1. 準備工作 首先,您需要在系統上安裝 Node.js 和 npm。如果尚未安裝,請訪問 Node.js — Run JavaScript Everywhere 下載并安裝最新版本。 2. 創建獨立的組件目錄 為了更好地管理組件,建議將其從當前項目中獨立出來: wechat-…

LCM中間件入門(2):LCM核心實現原理解析

文章目錄一、good()函數:LCM實例狀態檢查的實現原理1. 實現邏輯2. 簡化代碼示例(C語言核心邏輯)二、publish():向指定channel發送消息的原理1. 完整流程拆解2. 簡化代碼示例(C核心邏輯)三、subscribe()&…

Nginx安裝及配置

一.nginx安裝1.1nginx概述1.1.1 nginx介紹Nginx是一款高性能的開源HTTP和反向代理服務器,是免費的、開源的、高性能的HTTP和反向代理服務器、郵件代理服務器、以及TCP/UDP代理服務器解決C10K問題(10K Connections)。同時也支持IMAP/POP3代理服…

SelectDB數據庫,新一代實時數據倉庫的全面解析與應用

摘要:SelectDB是一款基于Apache Doris的新一代實時數據倉庫解決方案,具備實時極速、融合統一、彈性架構和開放生態四大核心特性。它采用云原生存算分離架構,支持秒級數據更新、毫秒級查詢響應,在TPC-H等基準測試中性能超越傳統系統…

自動駕駛的未來:多模態傳感器鉆機

倫敦大學學院博士生袁方正在建造多模態傳感器鉆機,以探索自動駕駛的未來。他的最新設置匯集了一套尖端傳感器: 📡 60 GHz 雷達(用于 Raspberry Pi 的 DreamHAT)DreamRF 📷 RGB 深度攝像頭 (Real…

13.Redis 的級聯復制

Redis 的級聯復制 即實現基于Slave節點的Slave 1. 修改 Slave 節點配置文件 # 第一個slave節點 [rootubuntu2204 ~]#vim /apps/redis/etc/redis.conf(大約在533行附近) replicaof 10.0.0.100 6379 masterauth 123456# 第二個slave節點 [rootubuntu2204 ~]#vim /apps/redis/etc/…

spring-ai-alibaba 學習(二十)——graph之檢查點

前面學習了graph的基本概念,參數設置,特殊節點和邊,今天學習一下檢查點檢查點可能名稱比較抽象,換個名字可能比較容易理解,進度保存點或者存檔點,可以類比游戲中保存當前游戲進度的存檔進度主要用于人工介入…

sqli-labs:Less-19關卡詳細解析

1. 思路🚀 本關的SQL語句為: $insert"INSERT INTO security.referers (referer, ip_address) VALUES ($uagent, $IP)";注入類型:字符串型(單引號包裹)、INSERT操作提示:參數需以閉合關鍵參數&a…

Java小紅書源碼1:1還原uniapp_仿小紅書源碼

在內容驅動型社交平臺興起的背景下,小紅書作為圖文/視頻種草社區的代表,其產品結構與功能體驗逐漸成為眾多開發者與創業團隊的模仿藍本。本項目基于Java后端uni-app前端棧,完整復刻小紅書主要功能,支持多端(小程序、H5…

USB Type-C PD協議一文通

原文:https://www.richtek.com/Design%20Support/Technical%20Document/AN056?sc_langzh-TW譯者:TrustZone1、概述 USB Type-C標準的出現是為了滿足不斷增長的現代設備之間的連接需要,它在傳統USB標準的基礎上提供了更高的電源傳輸能力和資料…

AI文檔比對和Word的“比較”功能有什么區別?

AI文檔比對工具的核心區別在于,它超越了Word的純文本“找不同”,能精準處理掃描件、表格及印章,并將文檔審查從被動的文本核對,處理大文檔也更為快速及準確。 為什么Word的“比較”功能已經不夠用了? 對于許多專業人士…

AI驅動SEO關鍵詞智能進化

內容概要 隨著人工智能(AI)技術的快速演進,搜索引擎優化(SEO)領域正迎來前所未有的變革。本文核心探討AI如何驅動SEO關鍵詞的智能進化,重點解析人工智能革新關鍵詞研究與優化策略的機制,包括智能…

基于SpringBoot+MyBatis+MySQL+VUE實現的青年公寓服務平臺管理系統(附源碼+數據庫+畢業論文+部署教程+配套軟件)

摘 要 傳統信息的管理大部分依賴于管理人員的手工登記與管理,然而,隨著近些年信息技術的迅猛發展,讓許多比較老套的信息管理模式進行了更新迭代,房屋信息因為其管理內容繁雜,管理數量繁多導致手工進行處理不能滿足廣…

12.Redis 主從復制

Redis 主從復制Redis 主從復制1. Redis 主從復制架構2. 主從復制實現2.1 主從命令配置2.1.1 啟用主從同步2.1.2 查看日志觀察同步狀態2.1.3 修改 Slave 節點配置文件2.1.4 刪除主從同步3. 主從復制故障恢復3.1 Slave 節點故障和恢復3.2 Master 節點故障和恢復3.3 常見主從復制故…

微服務的編程測評系統8-題庫管理-競賽管理

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 文章目錄前言1. 添加題目1.1 service方法1.2 畫頁面-引入富文本和代碼編輯框1.3 子組件中發送請求2. 獲取題目詳情3. 編輯題目4. 刪除題目5. Vue生命周期函數5.1 創建階段5.2…

基于springboot的學習輔導系統設計與實現

學生:注冊登錄,學習視頻,學習資料,在線交流,系統公告,個人中心,后臺管理教師:登錄,個人中心,學習視頻管理,學習資料管理,簽到記錄管理…

Kubernetes (K8s) 部署Doris

官網提供yaml地址下載部署 https://doris.apache.org/zh-CN/docs/2.0/install/cluster-deployment/k8s-deploy/install-env/禁用和關閉 swap 在部署 Doris 時,建議關閉 swap 分區。 通過以下命令可以永久關閉 swap 分區。 echo "vm.swappiness 0">>…

AI生成圖片工具分享!

CZL在線工具箱近日推出了一款基于Cloudflare Workers AI的免費在線AI圖片生成服務。該服務采用**Stable Diffusion XL(SDXL)**模型,為用戶提供高質量、逼真的圖像生成體驗。 核心特性 全球GPU網絡:基于Cloudflare全球分布式GPU網…

Spring Batch的2種STEP定義方式

Spring Batch的2種STEP定義方式 1. 第一種:基于Chunk-Oriented Processing(read,process,write)形式 適用場景: 大數據量批處理:適合需要分批次讀取、處理并寫入大量數據的場景(如數…

前端JS-調用單刪接口來刪除多個選中文件

當開發中遇到:服務端沒有刪除多個文件功能接口,只有單個刪除文件功能接口時,會遇到如何多選刪除文件效果最佳。await Promise.all(selectedDocPaths.map(async (path) > {try {await fileDelete(path)} catch (err) {throw new Error(刪除…