请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

命令行输入 gulp 报错——jsFilter is not a function

var gulp = require("gulp");
var rev = require("gulp-rev");                    //用哈希码来修改引用文件名
var revReplace = require("gulp-rev-replace");     //更新引用文件名
var useref = require("gulp-useref");              //注释性文字来告诉gulp要怎样操作,一般是合并打包文件
var filter = require("gulp-filter");              //从水流中筛选出来一些水,处理完再放回水流中
var uglify = require("gulp-uglify");              //压缩js
var csso = require("gulp-csso");                  //压缩css

gulp.task("default",function() {
    var jsFilter = filter("**/*.js",{restore:true});
    var cssFilter = filter("**/*.css",{restore:true});
    var indexHtmlFilter = filter(["**/*","!**/index.html"],{restore:true});

    return gulp.src("src/index.html")
           .pipe(useref())
           // .pipe(jsFilter())
           // .pipe(uglify())              // Minify any javascript sources
           .pipe(jsFilter.restore)
           .pipe(cssFilter)
           .pipe(csso())               // Minify any CSS sources
           .pipe(cssFilter.restore)
           .pipe(indexHtmlFilter)
           .pipe(rev())                // Rename the concatenated files
           .pipe(indexHtmlFilter.restore)
           .pipe(revReplace())         // Substitute in new filenames
           .pipe(gulp.dest("dist"));
});

**************************************************
下面是修改的部分,修改完可以合并js,但是并没有压缩
return gulp.src("src/index.html")
           .pipe(useref())
           // .pipe(jsFilter())
           // .pipe(uglify())              // Minify any javascript sources
           .pipe(jsFilter.restore)
           .pipe(cssFilter)
           .pipe(csso())               // Minify any CSS sources
           .pipe(cssFilter.restore)
           .pipe(indexHtmlFilter)
           .pipe(rev())                // Rename the concatenated files
           .pipe(indexHtmlFilter.restore)
           .pipe(revReplace())         // Substitute in new filenames
           .pipe(gulp.dest("dist"));

如果不注释这两行,就会报错

// .pipe(jsFilter())
 // .pipe(uglify())

TypeError: jsFilter is not a function

请问一下老师这是什么原因?

正在回答 回答被采纳积分+3

2回答

姜维 2017-04-25 09:54:10

写成: .pipe(jsFilter)

不要带括号试试

1 回复 有任何疑惑可以回复我~
  • 提问者 大大张伟大 #1
    不带括号成功压缩了,不过压缩完 sublime 有报错。
    回复 有任何疑惑可以回复我~ 2017-04-26 08:36:32
提问者 大大张伟大 2017-04-26 08:37:12

https://img1.sycdn.imooc.com/szimg//58ffeb9d00017f5911220106.jpg

https://img1.sycdn.imooc.com/szimg//58ffeb9d0001010613660031.jpg

改完之后就有报错,会不会影响?

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信