babel 组件的作用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bigsea622/article/details/80001099
"babel-core": "^7.0.0-beta.3",  //
/**
*把 js 代码分析成 ast (抽象语法树, 是源代码的抽象语法结构的树状表现形式),
*方便各个插件分析语法进行相应的处理。
*有些新语法在低版本 js 中是不存在的,如箭头函数,rest 参数,函数默认值等,
*这种语言层面的不兼容只能通过将代码转为 ast,
*再通过语法转换器分析其语法后转为低版本 js。
*https://blog.csdn.net/qq_21796899/article/details/78817755
**/
"babel-eslint":"^8.2.3",  //ESLint 是一个语法规则和代码风格的检查工具,可以用来保证写出语法正确、风格统一的代码。
"babel-loader": "^7.1.4",  //允许babel组件运行在webpack上,其它*-loader 组件是一个道理
"babel-plugin-transform-decorators-legacy": "^1.3.4",  //支持转码 es7 装饰器
"babel-plugin-transform-runtime": "^6.23.0",  // 1.避免 babel 编译的工具函数在每个模块里重复出现,减小库和工具包的体积。2.避免污染全局命名空间  详细URL: https://segmentfault.com/a/1190000009065987
/**
*polyfill 污染全局环境、支持实例方法 
*runtime 不污染全局环境、不支持实例方法
*这个模块会将我们的代码重写,如将 Promise 重写成 _Promise(只是打比方),
*然后引入_Promise helper 函数。这样就避免了重复打包代码和手动引入模块的痛苦。
**/
"babel-preset-env": "^1.6.1",  //es运行环境对es6,es7,es8支持不一,有的支持好,有的支持差,为了充分发挥新版es的特性,我们需要在特定的平台上执行特定的转码规则,说白了就像是按需转码的意思
"babel-preset-stage-0": "^6.24.1",  //babel stage-0
"babel-register": "^6.26.0",  //所有 .es6, .es, .jsx and .js 可以被 babel 转码
"babelify": "^8.0.0",  //babellify 这个是 babel 为 browserify 提供的
/**
*babellify 这个是 babel 为 browserify 提供的
*babel-loader 是用于 webpack
*babel6 也是可以在浏览器中使用的,可以使用 babel-standalone
*https://segmentfault.com/q/1010000007908775/a-1020000008147367
*
**/

阅读更多

没有更多推荐了,返回首页