安装完gulp环境,而且配置好gulpfile.js,执行静态文件压缩和代码混淆时,出现以下错误:javascript
Error: Cannot find module 'gulp-clone'css
Error: Cannot find module 'gulp-html'html
配置文件以下:前端
/** * Created by 13 **/ var gulp = require('gulp'); var clone = require('gulp-clone'); var htmlmin = require('gulp-htmlmin'); var gulpif = require('gulp-if'); var cssmin = require('gulp-minify-css'); var uglify = require('gulp-uglify'); var useref = require('gulp-useref'); var clean = require('gulp-clean'); var imagemin = require('gulp-imagemin'); //压缩html gulp.task('html', function () { var options = { removeComments: true, //清除HTML注释 collapseWhitespace: true, //压缩HTML collapseBooleanAttributes: false, //省略布尔属性的值 <input checked="true"/> ==> <input checked /> removeEmptyAttributes: false, //删除全部空格做属性值 <input id="" /> ==> <input /> removeScriptTypeAttributes: true, //删除<script>的type="text/javascript" removeStyleLinkTypeAttributes: true, //删除<style>和<link>的type="text/css" minifyJS: true, //压缩页面JS minifyCSS: true //压缩页面CSS }; return gulp.src('dev-pages/*.html') .pipe(htmlmin(options)) .pipe(gulp.dest('pages/')); }); //压缩js gulp.task('jsmin', function() { return gulp.src(['dev-source/js/ajax.js','dev-source/js/ajax_my.js']) .pipe(uglify({ mangle: false })) .pipe(gulp.dest('source/js/')) }) // 拷贝图片文件 gulp.task('image-copy', function () { return gulp.src('source-dev/webslice/**/*') .pipe(clone()) .pipe(gulp.dest('source/webslice')); }); gulp.task('image-min', function () { return gulp.src('dev-source/images/*.{png,jpg}') .pipe(imagemin()) .pipe(gulp.dest('source/images/')); }); //先复制图片到source,而后再执行压缩。 gulp.task('image-min2', ['image-copy'], function () { return gulp.src('source/webslice/**/*') .pipe(imagemin()) .pipe(gulp.dest('source/webslice/')); }); gulp.task('image-min3', function () { return gulp.src('dev-source/webview/img/*.{png,jpg}') .pipe(imagemin()) .pipe(gulp.dest('source/webview/img/')); }); //压缩图片 gulp.task('images-min',['image-min','image-min2','image-min3'],function() {}) //监听两个文件的文件变化 gulp.task('listenPages', function() { gulp.watch('dev-pages/*.html',['html']); gulp.watch('dev-source/js/*.js',['jsmin']); }); // 构建任务流 // 执行 task build gulp.task('build', ['html', 'image-min','jsmin']);
经过查询官网及网上资料,也能够肯定配置文件没错,可是依然会报错,gulp命令能够直接运行,就是配置项中的几个模块没法执行。java
我是后端开发,前端的知识也就是马马虎虎,因此这个问题确实难倒我了,差很少在网上查资料而后改代码弄了一个小时,依然没有解决。web
后来又看了一下报错,既然缺乏模块,是否是我没有安装啊,这样一想,再去查构建目录,果真是没有安装这些模块,我觉得安装gulp后就完事儿了的。ajax
根据gulpfile.js配置项中须要的模块依次安装gulp-clone、gulp-htmlmin、gulp-uglify等模块便可。gulp
执行任务正常后端