gulp-babel使用
各大浏览器厂商对es2015功能支持不完全,等到全部支持会等很长时间,如果现在使用es2015,可以选择babel一个将ES6/ES7写的代码转换为ES5代码的编译器.
我们选择使用gulp自动化编译生成es5代码.
假设你已经安装过了nodejs.
配置开发环境:
1. 建立工程目录:
$mkdir test && cd test
2. 新建工程配置文件package.json
$npm init
3. 安装gulp工具
$npm install --save-dev gulp gulp-babel gulp-concat gulp-sourcemaps babel-preset-es2015
4. 新建gulp配置文件
$vim gulpfile.js
写入代码gulpfile.js:
const gulp = require("gulp");
const sourcemaps = require("gulp-sourcemaps");
const babel = require("gulp-babel");
const concat = require("gulp-concat");
gulp.task('default', () =>
gulp.src('src/**/*.js')
.pipe(babel({
presets: 'es2015'
}))
.pipe(gulp.dest('dist'))
);
//生成sourcemaps
gulp.task('all', () =>
gulp.src('src/**/*.js')
.pipe(sourcemaps.init())
.pipe(babel({
presets: 'es2015'
}))
.pipe(concat('all.js'))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('dist'))
);
5. 测试是否配置成功
mkdir src && cd src && vim app.js
写入代码:
function f() {
let x;
{
// okay, block scoped name
const x = "sneaky";
// error, const
//x = "foo";
console.log(x);
}
// okay, declared with `let`
x = "bar";
// error, already declared in block
//let x = "inner";
console.log(x);
}
f();
6.执行
$gulp
会自动生成dest目录,包含app.js文件,是转化过的js.恭喜你已经学会!
gulp-babel使用的更多相关文章
- gulp+Babel 搭建ES6环境
Gulp是什么? Gulp是一个工作流的构建系统,开发者可以使用它在网站开发过程中自动执行常见任务.Gulp是基于Node.js构建的,因此Gulp源文件和你用来定义任务的Gulp文件都被写进了Jav ...
- 让浏览器兼容ES6语法(gulp+babel)
使用gulp+babel搭建ES6环境 前言 我们查阅资料可以知道ECMAScript 2015(简称ES6)已经于2015年发布,由于用户使用的浏览器版本在安装的时候可能早于ES6的发布,而到了今天 ...
- gulp+babel 实时转es6
1.安装gulp npm install gulp 2.得到package.json文件 npm init 2.全局安装Babel. npm install -g babel-cli npm ...
- Gulp Babel AMD转换例子
1.gulpfile.js var gulp = require('gulp'); const babel = require('gulp-babel'); gulp.task('default', ...
- ES6转ES5:Gulp+Babel
目标: ES6代码转成ES5 对转换后的ES5进行压缩 以上步骤自动监控执行 步骤: 1.安装插件 在命令行中定位到项目根目录 安装全局 Gulp npm install -g gulp 安装项目中使 ...
- gulp+babel面向未来变成
1.需要本地安装node; 2.安装gulp: 3.在项目根目录启动node; 安装babel组件: npm install --save-dev babel-core npm install --s ...
- ES6 初体验 —— gulp+Babel 搭建ES6环境
ES6已经火了好久了,我却一直没有在项目中尝试过使用ES6写代码,只是写过几个Demo,在大型项目中使用ES6这件事,我一直不太敢做.最近公司要求做一个小的H5活动专题,我想不如就在这个小项目中使用E ...
- gulp babel 配置不报错也没有输出结果的原因
环境: "@babel/core": "^7.1.6", "gulp-babel": "^8.0.0", "@ ...
- gulp 安装笔记
1.全局安装cnpm(淘宝的npm国内镜像),gulp,rimraf(卸载用插件)npm install -g cnpm --registry=https://registry.npm.taobao. ...
- 使用babel编译es6
起因:开发中慢慢的学习使用es6,但是JavaScript需要浏览器来解析,而不是所有浏览器都支持es6,所以为了兼容es6,需要第三方工具进行编译es6. 工具:node,gulp,gulp-bab ...
随机推荐
- Linux文件与目录管理
. 代表此层目录 . . 代表上一层目录 - 代表前一个工作目录 ~ 代表"目前用户身份"所在的中文件夹 ~account 代表accoun ...
- 使用httpclient 调用selenium webdriver
结合上次研究的selenium webdriver potocol ,自己写http request调用remote driver代替selenium API selenium web driver ...
- ADT for Eclipse无法升级到23.0的解决方法(确保您的网络能够访问google的地址)
进行以下步骤时,请确保您的网络能够访问google的地址,因为有可能是无法访问google地址导致无法升级,该文不是为了解决这个问题!!! 最近一次的升级,ADT无法从ADT 22.X升级到23.0. ...
- CodeIgniter 3 源码学习笔记《一》
CodeIgniter 是一套给 PHP 网站开发者使用的应用程序开发框架和工具包. 它的目标是让你能够更快速的开发,它提供了日常任务中所需的大量类库, 以及简单的接口和逻辑结构.通过减少代码量,Co ...
- sh6.脚本磁盘分区格式化
练习1. 写一个脚本,通过ping 命令测试192.168.0.100到192.168.0.254之间的所有主机是否在线, 如果在线,就显示"ip is up."IP为真实IP地址 ...
- git bash操作
1. GIT说明 1> git是分布式,或者说是去中心化的.表现为: 开发者的可以在本地使用git并完美的控制自己的版本,而无需与服务端交互: 开发者可以将本地库在某个服务端备份,这种情况类似S ...
- 鼠标右击.exe的程序出现闪退(桌面重启)怎么办
桌面鼠标右击,然后点NVIDIA控制面板(或者按windows+S组合键,在底下输入NVIDIA,然后点NVIDIA控制面板) 好了,然后任意找个文件试试...如图,问题完美解决
- Linux C编程学习之开发工具3---多文件项目管理、Makefile、一个通用的Makefile
GNU Make简介 大型项目的开发过程中,往往会划分出若干个功能模块,这样可以保证软件的易维护性. 作为项目的组成部分,各个模块不可避免的存在各种联系,如果其中某个模块发生改动,那么其他的模块需要相 ...
- NetMQ(四): 推拉模式 Push-Pull
ZeroMQ系列 之NetMQ 一:zeromq简介 二:NetMQ 请求响应模式 Request-Reply 三:NetMQ 发布订阅模式 Publisher-Subscriber 四:NetMQ ...
- NetMQ(三): 发布订阅模式 Publisher-Subscriber
ZeroMQ系列 之NetMQ 一:zeromq简介 二:NetMQ 请求响应模式 Request-Reply 三:NetMQ 发布订阅模式 Publisher-Subscriber 四:NetMQ ...