javascript - 用gulp压缩文件报错,请问什么原因?

查看:178
本文介绍了javascript - 用gulp压缩文件报错,请问什么原因?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题


请问这是因为js语法有错误还是什么原因呢?

以下是gulp配置

var gulp = require("gulp");
var ejs = require("gulp-ejs");
var plumber = require("gulp-plumber");
var rename = require("gulp-rename");
var watch = require("gulp-watch");
var minifycss = require('gulp-minify-css');
var uglify = require('gulp-uglify');
var del = require("del");
var sass = require("gulp-sass");
var connect = require('gulp-connect');
var livereload = require('gulp-livereload');
var htmlmin = require("gulp-htmlmin");//Html压缩
var ts=require('gulp-typescript');

//Htmls
gulp.task('htmls', function () {
    var options = {
        removeComments: true,//清除HTML注释
        collapseWhitespace: true,//压缩HTML
        collapseBooleanAttributes: true,//省略布尔属性的值 <input checked="true"/> ==> <input />
        removeEmptyAttributes: true,//删除所有空格作属性值 <input id="" /> ==> <input />
        removeScriptTypeAttributes: false,//删除<script>的type="text/javascript"
        removeStyleLinkTypeAttributes: false,//删除<style>和<link>的type="text/css"
        minifyJS: true,//压缩页面JS
        minifyCSS: true//压缩页面CSS
    };
    gulp.src(["./src/views/**/*.html"])
        .pipe(htmlmin(options))
        .pipe(gulp.dest("./src/build/views"));
});

gulp.task('ejs', () => {
    return gulp.src(["./src/views_ejs/**/*.ejs", "!./src/views_ejs/public/*.ejs"])
        .pipe(plumber())
        .pipe(ejs({ text: 1 }, { ext: '.html' }))
        .pipe(gulp.dest("./src/views/"))
});
gulp.task('css', () => {
    return gulp.src('./src/css/**/*.css')      //压缩的文
        .pipe(minifycss()) //输出文件夹
        .pipe(gulp.dest('./src/build/css'))

});
gulp.task('js', () => {
    return gulp.src('./src/js/**/*.js')      //压缩的文
        .pipe(ts({
            target:"es5",
            allowJs:true,
            moudle:"commonjs",
            moduleResolution:"node"
        }))
        .pipe(uglify()) //输出文件夹
        .pipe(gulp.dest('./src/build/js'))

});

gulp.task('sass', () => {
    return gulp.src('./src/sass/**/*.scss')
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest('./src/css'));

});

gulp.task('clean', function (cb) {
    del(['./src/build/js/**/*.js', './src/build/css/**/*.css','./src/views/**/*.ejs', "./src/build/views/**/*.html"], cb)
});

gulp.task('webserver', function() {
    connect.server({livereload: true});
});

gulp.task('images', function () {
   return gulp.src(['./src/images/*/**.*'])
            .pipe(gulp.dest('./src/build/images'))
});

gulp.task('watch', () => {
//    var server = livereload();
    watch('./src/views_ejs/',() =>{
        gulp.start('ejs')
    });
    
    watch('./src/sass/',() =>{
        gulp.start('sass')
    });
//    gulp.watch('./src/**/*.*', function (file) {
//        server.changed(file.path);
//    });
    
});
gulp.task('build', ['clean', 'sass','css', 'js', 'htmls','images']);

gulp.task('default', ['watch','webserver'])

解决方案

泻药,同意 @Dont 的说法,这个截图中信息实在是没有什么用。。。最好能够提供npm的debug.log以及gulp的配置代码。
一般来说,这样的问题是语法问题造成的。一般可以在下面的报错信息中得到提示。

补充:
好吧。。gulp配置。。简单到不可能出问题。。能够看一下刚才报错的全部信息么。
如果报错信息里面全部是node_modules里面的文件报错,那么只能用eslint等工具检查一下你的js语法了。。

或是有没有用到ES6的语法?

这篇关于javascript - 用gulp压缩文件报错,请问什么原因?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆