javascript - gulp file babelify task -


i'm kind of lost trying use babelify can use in project es6. should use in scrips-app part. can me? how can implement it? because in examples find on internet, there different implementations.

gulpfile.js

const config = require('./gulp.config.js')(); const gulp = require('gulp'); const gulploadplugins = require('gulp-load-plugins'); const plugs = gulploadplugins(); const bs = require('browser-sync'); const env = process.env.node_env || 'local'; const merge = require('merge-stream'); const imagemin = require('gulp-imagemin'); const browserify = require('browserify'); const babelify = require('babelify'); const clean = require('gulp-clean'); const eventstream = require('event-stream'); const optimize = false;   if (env === 'staging' || env === 'production') {    const optimize = true; }  /**  * compiling jade html components.  */ gulp.task('compile-jade', () => {     return gulp     .src(`${config.appfolder }**/*.jade`)     .pipe(plugs.jade())     .pipe(plugs.htmlmin())     .pipe(gulp.dest(config.appfolder)); });   /**  * compiling sass css.  */ gulp.task('styles-app', () => {    return gulp     .src(config.mainscss)     .pipe(plugs.sass())     .pipe(plugs.rename(`${config.projectname}.css`))     .pipe(plugs.if(optimize, plugs.combinemq()))     .pipe(plugs.if(optimize, plugs.csso()))     .pipe(plugs.if(optimize, plugs.rev()))     .pipe(gulp.dest(config.build)); });   /**  * concat vendor js files.  */ gulp.task('scripts-lib', () => {   const mainbowerfiles = require('main-bower-files');   return gulp     .src(mainbowerfiles('**/*.js'))     //.pipe(plugs.debug())     .pipe(plugs.concat(`${config.projectname }-lib.js`))     .pipe(plugs.if(optimize, plugs.uglify()))     .pipe(plugs.if(optimize, plugs.stripdebug()))     .pipe(plugs.if(optimize, plugs.rename({       extname: '.min.js'     })))     .pipe(gulp.dest(config.build)); });  gulp.task('scripts-app', ['compile-jade'], () => {    var scriptsstream = gulp.src(config.appfolder + '**/*.js'),   templatecachestream = gulp.src(config.appfolder + '**/*.html')       .pipe(plugs.angulartemplatecache(config.templatecache.file, config.templatecache.options));   console.log(plugs.order(config.jsorder));    return eventstream.merge(templatecachestream, scriptsstream)     .pipe(plugs.order(config.jsorder))     .pipe(plugs.concat(`${config.projectname}.js`))     .pipe(plugs.if(optimize, plugs.uglify()))     // .pipe(plugs.if(optimize, plugs.stripdebug()))     // .pipe(plugs.if(optimize, plugs.rename({extname: '.min.js'})))     .pipe(gulp.dest(config.build));  });  gulp.task('fonts', function () {   return gulp.src('./src/client/fonts/**/*.{eot,svg,ttf,woff,woff2}')     .pipe(gulp.dest(`${config.build}/fonts`)); });  gulp.task('images', () =>   gulp.src('src/client/images/*')     .pipe(imagemin())     .pipe(gulp.dest(`${config.build}/images`)) );  gulp.task('clean', function () {   return gulp.src(`${config.build}`, {read: false})     .pipe(clean()); });  gulp.task('inject', ['bundle'], () => {    const series = require('stream-series');   // it's not necessary read files (will speed things), we're after paths:   const scriptlib = gulp.src([`${config.build}*lib*.js`], {     read: false   });   const styleapp = gulp.src([`${config.build}*.css`, `!${config.build}*lib*.css`], {     read: false   });   const scriptapp = gulp.src([`${config.build}*.js`, `!${config.build}*lib*.js`], {     read: false   });   const seriesstreams = series(scriptlib, styleapp, scriptapp);    return gulp.src(`${config.build}index.html`)     .pipe(plugs.inject(seriesstreams, {       addprefix: '/static',       relative: true     }))     .pipe(gulp.dest(config.build)); });  gulp.task('bundle', ['watch'], () => {    return gulp.src(`${config.index}`)     .pipe(gulp.dest(config.build)); });   gulp.task('default', ['inject', 'build', 'fonts', 'images', 'nodemon', 'watch']);  /**  * build!!!!  */ gulp.task('build', ['styles-app', 'scripts-lib', 'scripts-app']);   gulp.task('watch', ['browser-sync'], () => {    gulp.watch(config.files.jade, ['scripts-app']).on('change', bs.reload);   gulp.watch(config.files.js, ['scripts-app']).on('change', bs.reload);   gulp.watch(config.files.sass, ['styles-app']).on('change', bs.reload); });  gulp.task('browser-sync', ['nodemon'], function () {   bs.init(null, {     proxy: "http://localhost:5000",     files: ["public/**/*.*"],     port: 3000   }); });  gulp.task('nodemon', () => {   plugs.nodemon({     script: './src/server/index.js',     ext: 'js html',     env: {       'debug': 'template:server',       'node_env': 'development'     }   }).on('start', function (cb) {     if (!started) {       cb();       started = true;     }   })     .on('restart', function () {       console.log('server restarted!')     }) });   module.exports = gulp; 

babelify task should add gulpfile.js

 gulp.task('babelify', function () {    return browserify({entries: './app.js', extensions: ['.js'], debug: true})      .transform(babelify)     .bundle()    .pipe(source('bundle.js'))    .pipe(gulp.dest('dist')); }); 

gulp.config.js

'use strict';  module.exports = function() {   const pkg = require('./package.json');    const server = './server/';   const src = './src/';   const scssfolder = `${src }client/sass/`;   const mainscss = `${scssfolder }styles.sass`;   const build = './build/';   const appfolder = `${src}client/app/`;   const index = `${src }client/index.html`;    const config = {     projectname: pkg.name,     appfolder,     app: `${appfolder }app.module.js`,     scssfolder,     mainscss,     angularrootapp: `${appfolder}core/`,     build,     index,     src,     images: `${src }client/images/`,     fonts: `${scssfolder }fonts/`,     vendorfolder: `${src }client/vendor/`,     templatecache: {       file: 'app.templates.js',       options: {         module: 'hotelsresult',         modulesystem: "iife"       }     },     jsorder: ['**/app.module.js', '**/*.module.js', '**/*.js'],     files: {       sass: `${src}**/*.sass`,       js: [`${src}**/*.js`, `!${src}**/*.templates.js`],       html: `${src}**/*.html`,       jade: `${src}**/*.jade`      }   };    return config; }; 

this setup babel use babel-preset-es2015 package, , use below task in gulpfile. here boiler plate gulp setup may helpful https://github.com/markring/gulp_boilerplate .

var babel = require('gulp-babel');    gulp.task('scripts', function () {  	console.log('starting scripts task');    	return gulp.src(scripts_path)  		.pipe(plumber(function (err) {  			console.log('scripts task error');  			console.log(err);  			this.emit('end');  		}))  		.pipe(sourcemaps.init())  		.pipe(babel({  			presets: ['es2015']  		}))  		.pipe(uglify())  		.pipe(concat('scripts.js'))  		.pipe(sourcemaps.write())  		.pipe(gulp.dest(dist_path))  		.pipe(livereload());  });

 "devdependencies": {      "babel-preset-es2015": "^6.3.13",      "gulp": "^3.9.0",      "gulp-babel": "^6.1.1"    }


Comments

Popular posts from this blog

ubuntu - PHP script to find files of certain extensions in a directory, returns populated array when run in browser, but empty array when run from terminal -

php - How can i create a user dashboard -

javascript - How to detect toggling of the fullscreen-toolbar in jQuery Mobile? -