涨知识|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转码了。

目录
相关文章
|
2月前
|
存储 JavaScript 前端开发
[JS] ES Modules的运作原理
【9月更文挑战第16天】ES Modules(ECMAScript Modules)是 JavaScript 中的一种模块化开发规范,适用于浏览器和 Node.js 环境。它通过 `export` 和 `import` 关键字实现模块的导出与导入。模块定义清晰,便于维护和测试。JavaScript 引擎会在执行前进行静态分析,确保模块按需加载,并处理循环依赖。ES Modules 支持静态类型检查,现代浏览器已原生支持,还提供动态导入功能,增强了代码的灵活性和性能。这一规范显著提升了代码的组织和管理效率。
|
3月前
|
JavaScript 前端开发 Java
​ES7、ES8、ES9、ES10、ES11、ES12都增加了哪些新特性?
​ES7、ES8、ES9、ES10、ES11、ES12都增加了哪些新特性?
|
6月前
|
前端开发 JavaScript
前端最常见的es6,es7,es8方法
【4月更文挑战第3天】 前端最常见的es6,es7,es8方法
66 5
|
6月前
|
JSON 前端开发 数据格式
ES7、ES8、ES9、ES10、ES11、ES12都增加了那些新特性?(一)
ES7、ES8、ES9、ES10、ES11、ES12都增加了那些新特性?(一)
121 0
|
6月前
|
前端开发 JavaScript Java
ES7、ES8、ES9、ES10、ES11、ES12都增加了那些新特性?(二)
ES7、ES8、ES9、ES10、ES11、ES12都增加了那些新特性?(二)
|
11月前
|
编解码 前端开发
ES6学习(一)— Babel转码器的使用和配置
ES6学习(一)— Babel转码器的使用和配置
|
存储 机器学习/深度学习 数据采集
基于ES在慢病项目中的应用
ES在慢性病管理项目中的应用
253 29
|
JavaScript 前端开发
模块化开发:CommonJS、AMD 和 ES6 Modules 的区别与使用方式
在前端开发中,模块化开发是一种重要的编程方法,它可以帮助我们更好地组织和管理代码,提高代码的可维护性和复用性。在JavaScript中,有多种模块化开发的标准,包括CommonJS、AMD和ES6 Modules。让我们逐一了解它们的区别和使用方式:
204 0
|
JavaScript 前端开发
每天3分钟,重学ES6-ES12(十八)ES Module(二)
每天3分钟,重学ES6-ES12(十八)ES Module
78 0
|
JavaScript 前端开发
每天3分钟,重学ES6-ES12(十八)ES Module(一)
每天3分钟,重学ES6-ES12(十八)ES Module
82 0