npm是技術(shù)的集合
同樣,我們通常認(rèn)為的“npm”(是的,全部小寫),尤其是“前端后端”,是許多不同的獨(dú)立技術(shù)和系統(tǒng)集合的單一名稱;一種生成瀏覽器友好代碼的Rube Goldberg 機(jī)器。
我已經(jīng)提到了命令行;這是生態(tài)系統(tǒng)的重要組成部分,因?yàn)檫@是我們與之互動(dòng)的方式。
然后是 npm,它屬于稱為“包管理”軟件的類別。我也會(huì)介紹這一點(diǎn)。事實(shí)上,您可能會(huì)在本指南中看到我將 npm 稱為包管理器。
最后,還有Node本身,要簡潔地解釋它是如此棘手,我經(jīng)常用Douglas Adams 的解釋來描述它:它是一種幾乎(但不完全)像 JavaScript 的編程語言。npm 管理項(xiàng)目工具
更復(fù)雜的是,許多您用npm install在命令行中輸入的項(xiàng)目可能帶有預(yù)安裝的工具來幫助您在項(xiàng)目中做各種各樣的事情,比如處理您的代碼(例如,將 Sass 代碼轉(zhuǎn)換為 CSS)。有許多一體式、預(yù)配置的項(xiàng)目等著您安裝它們并開始使用(Create React App、Next、Nuxt和SvelteKit,僅舉幾例)。如果做得好,這當(dāng)然很方便,但它也增加了復(fù)雜性——意味著我們需要將更多的名稱添加到我們的后端事物列表中。
此列表通常包括Babel(用于編譯 JavaScript)、Sass(用于編譯 CSS)、webpack(用于資產(chǎn)捆綁)、Vite(用于開發(fā)服務(wù)器和其他工具)、PostCSS(用于將一種語法轉(zhuǎn)換為另一種語法)等工具;Autoprefixer(可以是 CSS 供應(yīng)商前綴的 PostCSS 插件);TypeScript(用于額外的 JavaScript 語法);ESlint(用于檢查代碼質(zhì)量);Prettier (用于格式化代碼),以及Jest或Cypress等測試庫。
npm就像一座圖書館大樓,里面的藏書層層疊疊,井井有條,讓查找和管理變得更容易。
這些工具通常隨npm 安裝的項(xiàng)目一起提供——或者可以通過 npm 安裝和使用——但實(shí)際上并不是 npm 本身的一部分。它們只是現(xiàn)代工具的例子,可以幫助我們用代碼做一些好事,我在這里提到它們只是因?yàn)橹档米⒁馑鼈冎g的區(qū)別,以了解這個(gè)廣闊的新世界的邊界在哪里。
順便說一句,如果您不知道上面提到的這些工具中的大部分(或任何)是什么,那也沒關(guān)系。也許您還沒有遇到過它們,或者您可能在一個(gè)項(xiàng)目中安裝了它們而不知道它們的名字。無論哪種方式,所有這些都只是為了額外的上下文。讓我們在這里休息
如果此時(shí)您已經(jīng)感到有點(diǎn)不知所措:請不要擔(dān)心。讀完這一章后,我想讓你明白的關(guān)鍵是,我們所認(rèn)為的“npm”(或者更隨意地稱為“所有命令行,后端 Y 的東西”)并不是一回事,而是一組共同工作的東西,使我們的開發(fā)更容易。
是的:雖然所有這些復(fù)雜的事情看起來都讓人望而生畏,但它確實(shí)讓事情變得更好了。我保證。
雖然前端似乎發(fā)展很快,但不,你并沒有落伍。您可能只需要接受一些繼續(xù)教育就可以跟上進(jìn)度。
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請注明來自http://m.oulysa.com/news/6744.html