babel相关的npm包

来自babel的包

@babel/polyfill
提供编译模块的工具函数,转换新的ecma API(开发业务代码时,配置于devDependencies)

@babel/runtime
提供编译模块的工具函数,转换新的ecma API,同时避免polyfill包污染命名空间和不同文件引用工具函数造成包含重复代码的问题(公用代码复用组件库时用的多,配置于dependencies)

@babel/core
执行编译的transform方法在这个包里

@babel/plugin-transform-object-assign
支持object.assign用来合并对象

@babel/plugin-transform-runtime
这个包的作用其实就是辅助@babel/runtime的,因为有了@babel/plugin-transform-runtime它会帮我自动动态require @babel/runtime中的内容,如果没有这个@babel/plugin-transform-runtime,那么我们要使用@babel/runtime中的内容,就只有像require('@babel/polyfill')那样人工去手动添加了,所以@babel/plugin-transform-runtime非常方便,由于@babel/plugin-transform-runtime是一个插件,所以它是需要配置到.babelrc中的,这一点要记住。

@babel/preset-env
将不同环境下高版本语法转化成对应环境下的低版本语法(环境指目标浏览器或者运行环境)

@babel/plugin-syntax-jsx
支持jsx

babel-loader
This package allows transpiling JavaScript files using Babel and webpack.

来自vue的包

@vue/babel-preset-jsx
vue支持jsx(babel7)
默认会注入一个h语法糖,会与vue本身冲突,这个配置要设置false,否则项目启动会报错

[
    '@vue/babel-preset-jsx',
    {
        functional: false
    }
],

@vue/babel-helper-vue-jsx-merge-props
预制babel-template函数(输出AST节点),提供给vue,jsx等使用

babel-plugin-transform-vue-jsx
babel转译过程中使用到的插件,避免重复(babel6)

你可能感兴趣的:(babel7)