• 【前端】我的Gulp配置


    2. gulp + browserify

    
    /**
     * File Name: gulpfile.js
     */
    
    // 引入 gulp
    var gulp = require('gulp'); 
    
    // 引入组件
    // 保证在当前项目目录下曾经运行过:
    // npm install gulp-uglify gulp-rename gulp-babel babel-preset-es2015 ...... --save-dev
    // var jshint = require('gulp-jshint');
    var babel = require("gulp-babel");
    var rename = require('gulp-rename');
    var coffee = require('gulp-coffee');
    var gutil = require('gulp-util');
    var stylus = require('gulp-stylus');
    var browserify = require('browserify');
    // var babelify = require('babelify');
    var source = require('vinyl-source-stream');
    var buffer = require('vinyl-buffer');
    var sourcemaps = require('gulp-sourcemaps');
    var notify = require('gulp-notify');
    
    // 把src/script下的所有coffee逐个编译为js, 放在temp/script下
    gulp.task('coffee', function() {
      gulp.src('./src/script/**/*.coffee')
          .pipe(coffee({bare: true}).on('error', gutil.log))
          .pipe(babel({presets: ['es2015']}))
          .pipe(gulp.dest('./temp/script'))
    
    });
    
    gulp.task('stylus', function() {
      gulp.src('./src/style/*.styl')
          .pipe(stylus())
          .pipe(gulp.dest('./public/'));
    });
    
    gulp.task('browserify', function() {
      browserify({
        entries: ['./temp/script/main.js'],
        debug: true, // 告知Browserify在运行同时生成内联sourcemap用于调试
      })
      // .transform("babelify", {presets: ["es2015"]})
      .bundle()
      .pipe(source('bundle.js'))
      .pipe(buffer()) // 缓存文件内容
      .pipe(sourcemaps.init({loadMaps: true})) // 从 browserify 文件载入 map
      .pipe(sourcemaps.write('.')) // 写入 .map 文件
      .pipe(gulp.dest('public'))
      .pipe(notify({ message: 'browserify task complete' }));
    })
    
    // 监视文件的变化
    gulp.task('watch', ['coffee', 'browserify', 'stylus'], function(){
      gulp.watch('./src/script/*.coffee', ['coffee'])
      gulp.watch('./src/style/*.styl', ['stylus'])
      gulp.watch('./temp/script/*.js', ['browserify'])
    });
    
    // 默认任务
    gulp.task('default', ['coffee', 'browserify', 'stylus', 'watch']);
    
    

    1.

    /**
     * File Name: gulpfile.js
     */
    
    // 引入 gulp
    var gulp = require('gulp'); 
    
    // 引入组件
    // 保证在当前项目目录下曾经运行过:
    // npm install gulp-jshint gulp-concat gulp-uglify gulp-rename gulp-babel babel-preset-es2015 ...... --save-dev
    var jshint = require('gulp-jshint');
    var babel = require("gulp-babel");
    var concat = require('gulp-concat');
    var uglify = require('gulp-uglify');
    var rename = require('gulp-rename');
    var coffee = require('gulp-coffee');
    var gutil = require('gulp-util');
    var stylus = require('gulp-stylus');
    
    gulp.task('coffee', function() {
      gulp.src('./src/script/*.coffee')
          .pipe(coffee({bare: true}).on('error', gutil.log))
          .pipe(babel({presets: ['es2015']}))
          .pipe(concat('all.js'))
          // .pipe(rename('all.js'))
          .pipe(gulp.dest('./public')) // distribution
          .pipe(uglify())
          .pipe(rename('all.min.js'))
          .pipe(gulp.dest('./public')); // distribution
    });
    
    gulp.task('stylus', function () {
      gulp.src('./src/style/*.styl')
          .pipe(stylus())
          .pipe(gulp.dest('./public/'));
    });
    
    // // 语法检查
    // gulp.task('jshint', function() {
    //   gulp.src('./js/*.js')
    //   .pipe(jshint())
    //   .pipe(jshint.reporter('default'));
    // });
    
    // 监视文件的变化
    gulp.task('watch', ['coffee', 'stylus'], function(){
      gulp.watch('./src/script/*.coffee', ['coffee'])
      gulp.watch('./src/style/*.styl', ['stylus'])
    });
    
    // 默认任务
    gulp.task('default', ['coffee', 'stylus', 'watch']);
    
  • 相关阅读:
    SpringBoot中使用Netty实现TCP通讯,服务器主动向客户端发送数据
    Sort operation used more than the maximum 33554432 bytes of RAM
    linux报错bash: ./xx.sh: Permission denied
    mangoDB操作指令
    nginx 强制https
    60ES10数组方法扩展flat与flatMap
    63ES11Promise_allSettled方法
    67ES11BigInt类型
    62ES11私有属性
    66ES11动态import
  • 原文地址:https://www.cnblogs.com/forzhaokang/p/5240047.html
Copyright © 2020-2023  润新知