javascript - gulp-babel编译报错时,怎么能不停止node服务?
大家讲道理
大家讲道理 2017-04-11 09:49:41
[JavaScript讨论组]

使用gulp-babel在保存JS代码时自动编译到dist目录,但问题是很多程序员都习惯写两个字就ctrl+s

这时语法肯定还是有问题的,所以babel就报错了,导致npm run dev直接就停止了node服务,就像这样:

比如我写for(var i)我就保存了,这时编译肯定报错。

怎么做到编译报错时不要停止node服务,仅仅是抛出错误,求教!

下面附上gulpfile.js


var gulp = require('gulp'),
    // sass = require('gulp-ruby-sass'),
    autoprefixer = require('gulp-autoprefixer'),
    minifycss = require('gulp-minify-css'),
    // jshint = require('gulp-jshint'),
    uglify = require('gulp-uglify'),
    imagemin = require('gulp-imagemin'),
    // rename = require('gulp-rename'),
    clean = require('gulp-clean'),
    // concat = require('gulp-concat'),
    // notify = require('gulp-notify'),
    cache = require('gulp-cache'),
    // livereload = require('gulp-livereload'),
    lr = require('tiny-lr'),
    insert = require('gulp-insert'),
    server = lr();

var config = require('./config');
var express = require('express');
var path = require('path');
var babel = require('gulp-babel');
// Styles
gulp.task('css', function () {
    return gulp.src('src/css/**/*.css')
    // .pipe(sass({ style: 'expanded', }))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
        // .pipe(rename({ suffix: '.min' }))
        .pipe(minifycss())
        // .pipe(livereload(server))
        .pipe(gulp.dest('dist/css'))
});

//html
gulp.task('html', function () {
    return gulp.src('src/html/**/*.html')
        .pipe(gulp.dest('dist/html'))
});

// Scripts
gulp.task('js', function () {
    return gulp.src('src/js/**/*.js')
    // .pipe(jshint('.jshintrc'))
    // .pipe(jshint.reporter('default'))
    // .pipe(concat('main.js'))
        .pipe(insert.prepend('window.zm_config=' + JSON.stringify(config.root[process.env.NODE_ENV]) + ';'))
        .pipe(gulp.dest('dist/js'))
        // .pipe(rename({ suffix: '.min' }))
        .pipe(babel({
            presets: ['es2015'],
            plugins: ['transform-object-assign']
        }))
        .pipe(uglify())
        // .pipe(livereload(server))
        .pipe(gulp.dest('dist/js'))
});

// Images
gulp.task('img', function () {
    return gulp.src('src/img/**/*')
        .pipe(cache(imagemin({
            optimizationLevel: 3,
            progressive: true,
            interlaced: true
        })))
        // .pipe(livereload(server))
        .pipe(gulp.dest('dist/img'))
});

// Clean
gulp.task('clean', function () {
    return gulp.src(['dist/css', 'dist/js', 'dist/img'], {
        read: false
    })
        .pipe(clean());
});

// Default task
gulp.task('default', ['css', 'js', 'img', 'html', 'watch']);

// Watch
gulp.task('watch', function () {
    // Listen on port 35729
    server.listen(35729, function (err) {
        if (err) {
            return console.log(err)
        }
        ;
        var app = express();
        app.use(express.static(path.resolve('./')));
        app.listen(8000, function () {
            console.log('server is running on 8000');
        });

        // Watch .css files
        gulp.watch('src/css/**/*', function (event) {
            console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
            gulp.run('css');
        });

        // Watch .js files
        gulp.watch('src/js/**/*.js', function (event) {
            console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
            gulp.run('js');
        })

        // Watch .html files
        gulp.watch('src/html/**/*.html', function (event) {
            console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
            gulp.run('html');
        })

        // Watch image files
        gulp.watch('src/img/**/*', function (event) {
            console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
            gulp.run('img');
        });
    });
});
大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号