涨知识|Gulp + Babel实现es6向es5转码

简介: 涨知识|Gulp + Babel实现es6向es5转码

问题描述


为什么需要对es6代码进行转码?是因为部分浏览器无法识别es6语法,在gulp中ugilfy也无法压缩es6,如果有es6的代码,就会压缩失败,所以要将es6转化为老一版的es5,才更加方便。

解决方案

1.安装gulp和插件

 首先需要安装gulp

//全局安装gulp

npm  install -g gulp

//项目中安装gulp

npm  install --save-dev gulp

然后安装babel相关的插件

npm  install gulp-babel --save-dev

npm  install @babel/core@^7.0.0 --save-dev

npm  install babel-preset-env --save-dev

2.新建.babelrc文件

在对应的项目目录下新建.babelrc文件,里面主要有两个属性presets和plugins,对应的内容如下:

{

       "presets": [    // 需要用到的套件    ],

       "plugins": [    // 需要用到的插件    ]

}

因为这里是es6向es5的转码,所以只指定presets就行了

{

  "presets": ["env"]

}

3.新建gulpfile.js文件

// 获取 gulp

var gulp  = require('gulp');

// 获取babel模块

var babel  = require('gulp-babel');

gulp.task("babel",  function () {

  return gulp.src("./src/*.js")// es6  源码存放的路径

    .pipe(babel())  //执行转码

    .pipe(gulp.dest("dist")); //  转换成 es5 存放的路径

});

这样就可以实现es6向es5转码了。

目录
相关文章
|
11月前
|
前端开发 JavaScript 编译器
如何利用 Babel 进行代码转换和优化?
如何利用 Babel 进行代码转换和优化?
|
6月前
|
移动开发 JavaScript 前端开发
|
10月前
|
人工智能 安全 云栖大会
用百炼做一个2024云栖大会问答助手
自2017年起,每年持续关注云栖大会,去年开始全程观看在线回放,并使用通义千问进行语音转写,形成多份文字稿。这些资料上传至百炼平台,构建知识库,创建问答助手,展示了AI在处理和解析大量信息方面的强大能力。
282 12
|
11月前
|
存储 数据安全/隐私保护 云计算
多云网络环境:定义、优势与挑战
多云网络环境:定义、优势与挑战
238 5
|
11月前
|
安全 数据安全/隐私保护
什么是权限管理
什么是权限管理
328 0
什么是权限管理
|
数据采集
基于R语言的GD库实现地理探测器并自动将连续变量转为类别变量
【9月更文挑战第9天】在R语言中,可通过`gd`包实现地理探测器。首先,安装并加载`gd`包;其次,准备包含地理与因变量的数据框;然后,使用`cut`函数将连续变量转换为分类变量;最后,通过`gd`函数运行地理探测器,并打印结果以获取q值等统计信息。实际应用时需根据数据特点调整参数。
492 8
|
NoSQL Linux Redis
使用docker-compose搭建redis-cluster集群
使用docker-compose搭建redis-cluster集群
1113 0
|
机器学习/深度学习 自然语言处理
多语言模型在实际应用中有哪些优势和局限性?
多语言模型在实际应用中有哪些优势和局限性?
|
移动开发 API
2024年阿里云域名优惠口令及优惠口令获取方法(新)
com域名续费优惠口令“com批量注册更享优惠”,cn域名续费优惠口令“cn注册多个价格更优”,cn域名注册优惠口令“互联网上的中国标识”,阿里云优惠口令是域名专属的优惠码,可用于域名注册、续费和转入使用,域名优惠口令区分域名后缀,阿里云百科分享2024年阿里云域名优惠口令更新(注册、转入、续费均可使用)
3467 1
|
JavaScript 安全 前端开发
跨越跨域限制,掌握 Axios 的跨域解决策略
跨域是指访问另外一个域的资源,由于浏览器的同源策略,默认情况下使用 XMLHttpRequest 和 Fetch 请求时是不允许跨域的。跨域的根本原因是浏览器的同源策略,这是由浏览器对 JavaScript 施加的安全限制。