gulp常用插件之gulp-babel使用
更多gulp常用插件使用请访问:gulp常用插件汇总
gulp-babel这是Babel的Gulp插件。
此自述文件适用于gulp-babel v8 + Babel v7检查7.x分支以了解使用Babel v6的文档
安装
安装gulp-babel
,如果你想获得的下一版本发布前gulp-babel
。
# Babel 7 $ npm install --save-dev gulp-babel @babel/core @babel/preset-env # Babel 6 $ npm install --save-dev babel-core babel-preset-env
使用
const gulp = require('gulp'); const babel = require('gulp-babel'); gulp.task('default', () => gulp.src('src/app.js') .pipe(babel({ presets: ['@babel/preset-env'] })) .pipe(gulp.dest('dist')) );
API
babel([options])
Source Maps
像这样使用gulp-sourcemaps:
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(sourcemaps.init()) .pipe(babel({ presets: ['@babel/preset-env'] })) .pipe(concat('all.js')) .pipe(sourcemaps.write('.')) .pipe(gulp.dest('dist')) );
Babel元数据
流中的文件用Babel
属性注释,该属性包含中的元数据babel.transform()。
const gulp = require('gulp'); const babel = require('gulp-babel'); const through = require('through2'); function logBabelMetadata() { return through.obj((file, enc, cb) => { console.log(file.babel.test); // 'metadata' cb(null, file); }); } gulp.task('default', () => gulp.src('src/**/*.js') .pipe(babel({ // plugin that sets some metadata plugins: [{ post(file) { file.metadata.test = 'metadata'; } }] })) .pipe(logBabelMetadata()) )
运行
如果尝试使用生成器等功能,则需要添加transform-runtime
为插件,以包括Babel
运行时。否则,您将收到错误:regeneratorRuntime is not defined
。
安装运行时:
$ npm install --save-dev @babel/plugin-transform-runtime $ npm install --save @babel/runtime
用作插件:
const gulp = require('gulp'); const babel = require('gulp-babel'); gulp.task('default', () => gulp.src('src/app.js') .pipe(babel({ plugins: ['@babel/transform-runtime'] })) .pipe(gulp.dest('dist')) );
相关推荐
zhongweinan 2020-06-10
星辰的笔记 2020-07-04
liangjielaoshi 2020-06-11
jiangfulai 2020-04-18
UndefineOrNull 2020-02-29
我有一只小松鼠 2020-02-29
UndefineOrNull 2020-03-01
hlihaihong 2020-02-18
UndefineOrNull 2020-02-12
星辰的笔记 2020-01-13
UndefineOrNull 2020-01-13
hlihaihong 2020-01-13
kaosini 2020-01-12
hlihaihong 2020-01-12
kaosini 2020-01-12
HSdiana 2019-12-25
FranksTD 2019-12-19