Babel 把用最新标准编写的 JavaScript 代码向下编译成可以在今天随处可用的版本。 这一过程叫做“源码到源码”编译, 也被称为转换编译。

通俗的说,就是我们可以用ES6, ES7等来编写代码,Babel会把他们统统转为ES5。

  • babel-core 调用Babel的API进行转码
  • babel-loader 用来告诉webpack我想要对我的js代码进行兼容性编译,起到一个通知者角色
  • babel-preset-env 用于解析 ES6
  • babel-preset-react 用于解析 JSX
  • babel-preset-stage-0 用于解析 ES7 提案
npm install --save-dev babel-core babel-loader babel-preset-env babel-preset-react babel-preset-stage-0

创建.babelrc

//.babelrc
{"presets":["react","env","stage-0"]
}
{test:/(\.jsx|.js)$/,use:{loader:'babel-loader',options:{// babel-loader 将使用默认的缓存目录node_modules/.cache/babel-loader,之后的 webpack 构建,将会尝试读取缓存,来避免在每次执行时,可能产生的、高性能消耗的 Babel 重新编译过程cacheDirectory:true}},exclude:/node_modules/,include: path.join(__dirname, 'src')

如何用babel将ES6转换相关推荐

  1. babel ES6 转换 ES5 实现原理

    babel ES6 转换 ES5 实现原理 前言 babel 各种包介绍 转换过程 案例 前言 前面写过一篇简单的 AST 抽象语法树的文章 简述 AST 抽象语法树.今天来看一下在 babel 中是 ...

  2. webpack之配置es6转换成es5

    webpack之配置es6转换成es5 为什么要将代码中的es6语法转换成es5语法呢?这是因为有些浏览器无法识别es6语法.而webpack在不借助babel的情况下,只能对js进行打包处理,无法将 ...

  3. 使用babel编译es6

    起因:开发中慢慢的学习使用es6,但是JavaScript需要浏览器来解析,而不是所有浏览器都支持es6,所以为了兼容es6,需要第三方工具进行编译es6. 工具:node,gulp,gulp-bab ...

  4. 从babel实现es6类的继承来深入理解js的原型及继承

    先聊个5毛钱的背景吧 自从有了babel这一个利器之后,es6现在已经被广泛的使用.JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖.类语法不会为JavaScrip ...

  5. python批量将pdf转成word_如何用Python把pdf转换成word

    很多时候,我们需要把文件的形式来回转换.那么学了编程的小伙伴,我们该如何用Python把pdf转换成word呢? 一.下载所需要的库 1.pdfminer 安装库命令pip install pdfmi ...

  6. Linux批量改变图片大小,如何用Pix相册批量转换图片格式和调整大小

    LinuxMint 是基于 Ubuntu LTS 的流行的 Linux 发行版,早年其主要是 在Ubuntu 的基础上换上自己的主题.图标等外观资源,各类软件.设置工具都与 Ubuntu 完全一致,因 ...

  7. nodejs下babel编译es6后异常定位助手:source-map-support

    为什么80%的码农都做不了架构师?>>>    使用es6甚至es7写代码是愉快的,然而由于兼容性原因,我们不得不使用babel把es6代码转成es5的,但这样会有一个问题,那就是出 ...

  8. 温度转换python代码解释_如何用python代码温度转换?

    如何用python代码温度转换? 用python代码温度转换的方法: 步骤一:分析问题的计算部分 步骤二:确定功能,使用IPO方法进一步分析 输入:华氏或者摄氏温度值.温度标识 处理:温度转化算法 输 ...

  9. es6转换es5 babel配置

    npm install --save-dev babel-preset-es2015 babel-cli .babelrc文件 "presets":[         " ...

最新文章

  1. python包Yellowbrick可视化lasso模型的最佳alpha值及误测误差
  2. PHP远程DoS漏洞深入分析及防护方案
  3. 对Openshift上的Play Framework 2应用进行故障排除
  4. Quote Form OnLoad Implement Add Leftnav, count Activities
  5. 现在离开哈尔滨需要做核酸检测吗?
  6. php5+init,PHP mysqli_stmt_init() 函数
  7. Oracle 逗号分割的字符串转换为可放入in的语句
  8. Rust中的所有权和借用的关系图
  9. Vue3警告:[Vue warn] Extraneous non-emits event listeners (changeParentProps) were passed to component
  10. android 实现微信分享
  11. 怎么查看电脑内存的型号
  12. DDD第3篇 - 事件风暴
  13. 9 款炫酷的 MySQL 可视化管理工具!好用到爆!!
  14. java中单行注释的符号,GitHub已标星16k
  15. 揭秘老外聊天时常用的英文缩写
  16. 常用的计算机有哪些台式的还有哪些,现在台式电脑的主流配置有哪些?
  17. VLAN的作用及用法详解_01
  18. 几何向量:向量乘法(点乘)
  19. ChatGPT常见报错解决:回答不完整. 网络错误. Something went wrong. NetworkError when attempting to fetch resources.
  20. string 逆序简单方法

热门文章

  1. Linuxubuntu chmod和chown命令用法详细介绍
  2. 一个高效且友好的TensorFlow图神经网络(GNN)框架:tf_geometric
  3. HJ9 提取不重复的整数
  4. Hadoop Stream Python mapper或reducer添加参数
  5. 百度咋做长文本去重(一分钟系列)--转
  6. mysql悲观锁总结和实践--转
  7. svn 合并分支代码到主干
  8. eclipse使用tomcat进行部署时编译代码不一致的处理
  9. ArrayList的实现原理--转
  10. 华为诺亚方舟实验室主任李航:神经符号处理开启自然语言处理新篇章