鍍金池/ 問答/HTML/ babel-plugin-transform-runtime 和 babel-r

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

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

clipboard.png

回答
編輯回答
有點壞

這個只針對Node.js的項目使用babel來編譯的情況,如果是寫前端項目(用webpack打包)的話,就可以無視這個問題了。

因為babel編譯es6到es5的過程中,babel-plugin-transform-runtime這個插件會自動polyfill es5不支持的特性,這些polyfill包就是在babel-runtime這個包里,所以babel-runtime需要安裝在dependency而不是devDependency。

dependency和devDependency應該能明白吧。假如一個用戶npm install 了你發(fā)布在npm上的一個包,他只會安裝這個包的dependency依賴,devDependency是不會安裝的,那么此時假如babel-runtime是安裝在devDependency的話,有些polyfill就會找不到了。

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

2017年12月9日 10:40