在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ babel-plugin-transform-runtime 和 babel-r

babel-plugin-transform-runtime 和 babel-runtime 的區(qū)別?

babel-runtime 作用了解,但官方文檔中特意提醒生產(chǎn)與開(kāi)發(fā)依賴(lài)的不同,github 發(fā)現(xiàn) babel-runtime 對(duì) babel-plugin-transform-runtime 有開(kāi)發(fā)依賴(lài),想問(wèn)這兩個(gè)插件有什么關(guān)系:

clipboard.png

回答
編輯回答
有點(diǎn)壞

這個(gè)只針對(duì)Node.js的項(xiàng)目使用babel來(lái)編譯的情況,如果是寫(xiě)前端項(xiàng)目(用webpack打包)的話(huà),就可以無(wú)視這個(gè)問(wèn)題了。

因?yàn)閎abel編譯es6到es5的過(guò)程中,babel-plugin-transform-runtime這個(gè)插件會(huì)自動(dòng)polyfill es5不支持的特性,這些polyfill包就是在babel-runtime這個(gè)包里,所以babel-runtime需要安裝在dependency而不是devDependency。

dependency和devDependency應(yīng)該能明白吧。假如一個(gè)用戶(hù)npm install 了你發(fā)布在npm上的一個(gè)包,他只會(huì)安裝這個(gè)包的dependency依賴(lài),devDependency是不會(huì)安裝的,那么此時(shí)假如babel-runtime是安裝在devDependency的話(huà),有些polyfill就會(huì)找不到了。

至于這兩個(gè)包有什么區(qū)別,字面意思就能看出來(lái),一個(gè)是轉(zhuǎn)化的包(插件),一個(gè)是充滿(mǎn)polyfill的包。

2017年12月9日 10:40