欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

為什么我不建議使用npm做前端包管理

為什么我不建議使用npm做前端包管理?

會(huì)產(chǎn)生冗余問(wèn)題

前端與后端使用同一套包管理軟件可以減少公共部分的耦合,但是會(huì)導(dǎo)致不必要的冗余。

比如一個(gè)bootstrap包,是不可能被后端使用的。但是如果統(tǒng)一使用npm管理,每次npm install都會(huì)安裝bootstrap包,而后端一輩子都用不倒,完全是浪費(fèi)帶寬、存儲(chǔ)空間、時(shí)間。并且你在運(yùn)行后端前,每次都安裝個(gè)bootstrap,你不覺得惡心嗎?

運(yùn)行環(huán)境完全不同

前端與后端的運(yùn)行環(huán)境是完全不同的,前端運(yùn)行于瀏覽器內(nèi)(即主要是DOM與BOM環(huán)境,相對(duì)受限),后端則運(yùn)行于OS內(nèi)(有無(wú)限的API與可能性)。所以這兩種開發(fā)環(huán)境是完全不同的。不同的開發(fā)環(huán)境使用同一個(gè)包管理文件顯然是不合時(shí)宜的,也不符合模塊化的理念。

開發(fā)人員也可能不同

前端與后端通常是不同的開發(fā)團(tuán)隊(duì),因些前端關(guān)注的是HTML,CSS,DOM,BOM, js的UI庫(kù)與動(dòng)作庫(kù)。而后端關(guān)注的是性能,安全,效率,數(shù)據(jù),緩存,用戶管理。他們可能都會(huì)用到gulp/grunt,而后端通常不會(huì)用到webpack,wiredep,bootstrap, jQuery這類純前端的包。所以強(qiáng)行將他們捆綁在一起是沒(méi)有必要的。

同構(gòu)包可以分開打包

由于isomorphic js的流行,同構(gòu)包也會(huì)越來(lái)越多。但是其實(shí)你會(huì)發(fā)現(xiàn),不管如何同構(gòu),前后端的運(yùn)行環(huán)境還是不同的。所以同構(gòu)包的調(diào)用環(huán)境還是不一樣的。前端的包通常需要通過(guò)browserify,webpack或者gulp等工具發(fā)布成前端可用的包。跟npm包直接通過(guò)package.json決定從什么地方接入是不同的。即使npm可以為前端包提供字段供前端接入,也會(huì)顯得非常混亂。

webpack css,為什么我不建議使用npm做前端包管理