AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當前位置:首頁 > 科技  > 軟件

十年老后端運行公司前端項目,連編譯都沒過去...問題出在哪?

來源: 責編: 時間:2023-09-28 10:09:35 386觀看
導讀事情是這樣的兄弟們,作為一個工作十年的老后端,最近兩個月沒事學了學前端,本來學之前還信心滿滿“前端你工程話再復雜能有些Java項目那些切面、各種Bean注解、maven復雜?一個月上手應該沒問題”結果最近一直加班……兩個

事情是這樣的

兄弟們,作為一個工作十年的老后端,最近兩個月沒事學了學前端,本來學之前還信心滿滿“前端你工程話再復雜能有些Java項目那些切面、各種Bean注解、maven復雜?一個月上手應該沒問題”riW28資訊網——每日最新資訊28at.com

結果最近一直加班……兩個月了,才把Vue看了個大概,起初剛看前端的時候發現Y工程化咋用那么多工具和插件啊還是我后端香用go tools 或者Maven管理項目所有的依賴、插件、構建和打包。riW28資訊網——每日最新資訊28at.com

誒后來發現走了點彎路,人Vue框架里有一個vue.config.js能幫咱們統一管理webpack、gulp什么的這些工具在項目里的配置,這樣看來也還行吧。riW28資訊網——每日最新資訊28at.com

所以就在上周,當我厭倦了看各種Vue Demo項目,覺得這都太TM簡單了,還是得看看實戰代碼。抱著這個目的,我用一瓶東方樹葉腐化了我們業務的一個前端老哥,讓他給我開了個管理后臺項目的代碼權限。riW28資訊網——每日最新資訊28at.com

下載下來項目后,我大概看了看項目的結構和一些頁面組件的代碼,大概能看懂個百分之六七十的,于是我信心滿滿的準備編譯運行下這個項目,連給他提供接口那后端項目外都早早的在電腦上跑起來了,心想前后端項目都有,我這一下子不就閉環了嘛!riW28資訊網——每日最新資訊28at.com

結果卻是...閉環還沒開始呢就結束了,直接第一步npm install就卡住了。不管怎么編譯都是下面這個錯:riW28資訊網——每日最新資訊28at.com

Error: error:0308010C:digital envelope routines::unsupported     at new Hash (node:internal/crypto/hash:71:19)     at Object.createHash (node:crypto:133:10)     at module.export

這項目人家前端這周還有上線記錄呢?咋在我這連編譯都過不去,看報錯信息是算哈希的時候有問題,算了拿到ChatGPT里問一下。 剛好這周在VsCode上安了一個Copilot Chat,他們宣發里說是能幫開發者fix bug,試一下看看他們是不是吹牛皮呢。riW28資訊網——每日最新資訊28at.com

圖片圖片riW28資訊網——每日最新資訊28at.com

微軟果真沒騙人Github Copilot Chat真的引入了GPT的Chat接口,連回答都跟ChatGPT一樣的片湯話。riW28資訊網——每日最新資訊28at.com

沒辦法還是運用我善于搜索解決問題的內功吧, .....直接把報錯粘貼到Google上看看,肯定有很多類似問題的解決方案。riW28資訊網——每日最新資訊28at.com

尋找解決方案

經過我在Google上的一番搜索和篩查后,終于在Stack Overflow上找到了同類問題的帖子,而且討論相當激烈,帖子里有好幾十條回答,那看來是沒錯了在這肯定能找到答案。riW28資訊網——每日最新資訊28at.com

首先咱們看一下提問者自己的描述:riW28資訊網——每日最新資訊28at.com

圖片圖片riW28資訊網——每日最新資訊28at.com

I created the default IntelliJ IDEA React project and got this:riW28資訊網——每日最新資訊28at.com

意思是用 IDEA 創建了一個React項目,然后就遇到了和我們相同的錯誤。提問者在這里用的是React,但是看這個錯誤信息里能看出來這個是NodeJS爆出來的,咱們先看看提問者最后采納的答案是什么?riW28資訊網——每日最新資訊28at.com

圖片圖片riW28資訊網——每日最新資訊28at.com

回答者采用的方案是在項目的package.json里配置給啟動命令添加--openssl-legacy-provider選項,但是評論里就有人對這個方案提出了質疑:riW28資訊網——每日最新資訊28at.com

but note that --openssl-legacy-providermeans you are now almost certainly running with konwn insecure SSL, so this might mitigate the symptom, but it probable doesn't fix the underlying problem.riW28資訊網——每日最新資訊28at.com

意思是這樣會讓項目運行在非安全SSL的環境下,這么干雖然能一時緩解項目問題的癥狀但是大概率沒有解決底層的根本問題。riW28資訊網——每日最新資訊28at.com

看來這個回答雖然在提問者那里得到了認同,但是網友們覺得這個是治標不治本,那么什么是導致這個問題的根本原因呢?咱們接著往下看看其他答案里怎么說的。riW28資訊網——每日最新資訊28at.com

圖片圖片riW28資訊網——每日最新資訊28at.com

有位老哥過來剖析出現這個問題的真正原因了。riW28資訊網——每日最新資訊28at.com

In Node.js v17, the Node.js developers closed a security hole in the SSL provider. This fix was a breaking change that corresponded with similar breaking changes in the SSL packages in NPM. When you attempt to use SSL in Node.js v17 or later without also upgrading those SSL packages in your package.json, then you will see this error.riW28資訊網——每日最新資訊28at.com

意思是在NodeJS v17 版本,NodeJS的維護者修復了一個SSL的漏洞,這是一個破壞性變更,如果使用的NodeJS v17以上版本,但是項目的package.json里使用的是NPM上老版本的SSL庫的話就會導致這個問題。riW28資訊網——每日最新資訊28at.com

怪不得我們公司前端運行項目沒事,他們電腦上的Node版本都是v15或者v16的。那我也不能降低我的NodeJS版本呀,我電腦上的是v18,我不想折騰降低我電腦上安裝的NodeJS的版本,再搜搜有沒有其他簡單的方案,粗暴點也沒事,畢竟我也不往人家前端項目里提代碼,我就摸魚時偷偷在自己電腦上學學而已。riW28資訊網——每日最新資訊28at.com

在這么多回答里搜了一把 Vue.jsriW28資訊網——每日最新資訊28at.com

其中有個回答說在vue.config.js 中添加下面這段代碼就能繞過那個錯誤。riW28資訊網——每日最新資訊28at.com

const crypto = require('crypto');/** * The MD4 algorithm is not available anymore in Node.js 17+ (because of library SSL 3). * In that case, silently replace MD4 by the MD5 algorithm. */try {  crypto.createHash('md4');} catch (e) {  console.warn('Crypto "MD4" is not supported anymore by this Node.js version');  const origCreateHash = crypto.createHash;  crypto.createHash = (alg, opts) => {    return origCreateHash(alg === 'md4' ? 'md5' : alg, opts);  };}

我試了一把還真可以,但是看不明白這代碼啥意思,看著這個尖頭函數有點像Java的Lambda。這玩意好像是JavaScript ES6的語法,ES5的語法我都沒學更不可能學ES6了,直接問問Copilot Chat這代碼啥意思,為啥能起作用riW28資訊網——每日最新資訊28at.com

圖片圖片riW28資訊網——每日最新資訊28at.com

具體為什么能起作用,大家點擊看大圖哈。不過這個答案下邊也有人評論說這個方案只是把問題繞過去了,最好還是修改SSL的配置,這個我就不修改了,我的要求是代碼能跑起來就行。riW28資訊網——每日最新資訊28at.com

這里把Stack Overflow上的這個帖子也放這里,大家可以去感受下外國網友的討論氛圍。riW28資訊網——每日最新資訊28at.com

https://stackoverflow.com/questions/69938570/riW28資訊網——每日最新資訊28at.com

最后

最近學了點前端真是有點隔行如隔山的感覺了,不過發現問題解決問題的過程還是對自己有很多正反饋的,不然程序員也不會沒事學那么多東西了。riW28資訊網——每日最新資訊28at.com

這里簡單記錄一下我遇到的這個問題,如果你也是想跨界學點前端,把網上開源或者公司里現成的項目拿到自己電腦上運行的時候可能也會有這個問題。riW28資訊網——每日最新資訊28at.com

我一直覺得學一門語言的最直接的方式就是拿到現有的項目去學,不然老看Demo也還是到不了能去開發項目做需求的級別。這么看來公司里項目雜也是有點好處的哈,是時候亮出我八年老Java,六年老Go,十年老PHP的身份了

本文鏈接:http://www.tebozhan.com/showinfo-26-11900-0.html十年老后端運行公司前端項目,連編譯都沒過去...問題出在哪?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 記一次 .NET某新能源MES 非托管泄露

下一篇: 盤點 Go 語言的那些日志庫:你用了哪個?

標簽:
  • 熱門焦點
  • Find N3入網:最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經正式入網,型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 天貓精靈Sound Pro體驗:智能音箱沒有音質?來聽聽我的

    這幾年除了手機作為智能生活終端最主要的核心之外,第二個可以成為中心點的產品是什么?——是智能音箱。 手機在執行命令的時候有兩種操作方式,手和智能語音助手,而智能音箱只
  • JavaScript 混淆及反混淆代碼工具

    介紹在我們開始學習反混淆之前,我們首先要了解一下代碼混淆。如果不了解代碼是如何混淆的,我們可能無法成功對代碼進行反混淆,尤其是使用自定義混淆器對其進行混淆時。什么是混
  • Flowable工作流引擎的科普與實踐

    一.引言當我們在日常工作和業務中需要進行各種審批流程時,可能會面臨一系列技術和業務上的挑戰。手動處理這些審批流程可能會導致開發成本的增加以及業務復雜度的上升。在這
  • JavaScript學習 -AES加密算法

    引言在當今數字化時代,前端應用程序扮演著重要角色,用戶的敏感數據經常在前端進行加密和解密操作。然而,這樣的操作在網絡傳輸和存儲中可能會受到惡意攻擊的威脅。為了確保數據
  • JVM優化:實戰OutOfMemoryError異常

    一、Java堆溢出堆內存中主要存放對象、數組等,只要不斷地創建這些對象,并且保證 GC Roots 到對象之間有可達路徑來避免垃 圾收集回收機制清除這些對象,當這些對象所占空間超過
  • 小米公益基金會捐贈2500萬元馳援北京、河北暴雨救災

    8月2日消息,今日小米科技創始人雷軍在其微博上發布消息稱,小米公益基金會宣布捐贈2500萬元馳援北京、河北暴雨救災。攜手抗災,京冀安康!以下為公告原文
  • 華為將推出盤古數字人大模型 可幫助用戶12小時完成數字人生成

    在今日舉行的2023年華為云數字文娛AI創新峰會上,華為云全球Marketing與銷售服務總裁石冀琳表示,華為云將在后續推出盤古數字人大模型,可幫助用戶12小
  • OPPO K11樣張首曝:千元機影像“卷”得真不錯!

    一直以來,OPPO K系列機型都保持著較為均衡的產品體驗,歷來都是2K價位的明星機型,去年推出的OPPO K10和OPPO K10 Pro兩款機型憑借各自的出色配置,堪稱有
Top