
文章插圖
npm改成淘寶鏡像與cnpm區(qū)別之前一直以為npm改成淘寶鏡像后和cnpm本質(zhì)是一樣的 , 今天在研究package-lock.json時候發(fā)現(xiàn) , 這兩者還是有很大區(qū)別 。特記錄下:
先貼下截圖對比:
1.使用cnpm安裝lodash
2.使用改成淘寶倉庫的npm安裝lodash
通過截圖會發(fā)現(xiàn):
cnpm安裝模塊的時候會在node_modules文件夾生成二個文件夾 , 一個以下劃線 _開頭以及版本號組成的名字 , 一個正常名字的模塊 , 文件夾名字雖然不一樣 , 但里面文件是一樣的 。比如執(zhí)行cnpm install lodash,會在node_modules文件夾下生成兩個文件夾:_lodash@4.17.11@lodash和lodash , 先執(zhí)行了cnpm install lodash , 然后再執(zhí)行npm install lodash , npm安裝的lodash會替換掉cnpm安裝的lodash包(包括以下劃線開頭那個包) , 文件夾會只剩一個npm先安裝的lodash包 。再次npm uninstall lodash或者cnpm uninstall lodash,都會刪除lodash包 , 此時插件包就變成空文件夾了 。先執(zhí)行了cnpm install lodash , 然后再執(zhí)行npm uninstall lodash后 , 此時會報錯npm ERR! code EINVALIDPACKAGENAME npm ERR! Invalid package name “_lodash@4.17.11@lodash”: name cannot start with an underscore; name can only contain URL-friendly characters
但是使用cnpm uninstall lodash后 , 不會報錯 , 此時會刪掉cnpm安裝的兩個包中其中一個既非下劃線(正常名字)的包 。剩余的那個包是可以正常通過鼠標點擊打開的 。然后在文件中require會報錯 , 提示沒有這個包 。
先執(zhí)行了cnpm install lodash , 然后手動刪除cnpm安裝的兩個包中其中一個即下劃線(非正常名字)的包 , 剩余的那個包 , 發(fā)現(xiàn)無法通過鼠標點擊打開了 。然后在文件中require會報錯 , 提示沒有這個包 。所以 , cnpm安裝的的2個模塊 , 兩者應(yīng)該存在引用關(guān)系 , 正常名字模塊是非正常名字模塊的索引 , 兩者都必須存在才可以使用 。但是npm安裝下來就不存在這種情況了 , 因為只有一個正常名字模塊 。實測發(fā)現(xiàn) , 盡管使用npm改成淘寶倉庫 , 發(fā)現(xiàn)安裝速度還是遠遠比cnpm慢(當(dāng)模塊比較多的時候) 。可能應(yīng)該和cnpm安裝的文件結(jié)構(gòu)有關(guān)系吧 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 健美者Vc讓你更變得強壯
- 降準和降息有什么區(qū)別 降準降息是什么意思
- 十種人不適合做管理者 如何做個好員工
- 藍領(lǐng)工資一般多少 白領(lǐng)藍領(lǐng)等級區(qū)別
- 李廣與李廣利什么關(guān)系 李廣利最后的結(jié)局
- 公司的中層管理怎么做 如何做好中層管理者
- 歐洲文化的主流奠基者有誰
- 大興機場三層和四層區(qū)別
- 疫情用n95還是kn95 kn95與n95的區(qū)別
- ram是運行內(nèi)存嗎 ram和rom的區(qū)別
