在我的实习期间,我不得不在package.json中使用dependancies来启动。不知何故,我可以删除节点模块,仍然运行gulp,async和其他你可以在那里看到的东西。现在,我已经安装了全球,并且我已经编写了这些依赖项,但是当我删除node_modules时,终端表示它无法识别gulp。有没有办法做到这一点 ?
删除node_modules的原因是它是一个非常大的文件夹,因为我需要传输我的项目,他们向我展示了如何删除它。
'use strict';
var gulp = require('gulp');
var sass = require('gulp-sass');
var runSequence = require('run-sequence');
var iconfont = require('gulp-iconfont');
var async = require('async');
var consolidate = require('gulp-consolidate');
var sassLint = require('gulp-sass-lint');
gulp.task('sass', function(){
return gulp.src('app/scss/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('app/css'))
});
gulp.task('sass-lint', function () {
return gulp.src('app/scss/**/*.s+(a|c)ss')
.pipe(sassLint())
.pipe(sassLint.format())
.pipe(sassLint.failOnError())
});
gulp.task('watch', ['sass'], function (){
gulp.watch('app/scss/**/*.scss', ['sass' , 'sass-lint' ]);
});
gulp.task('build', function (callback) {
runSequence(['sass'],
callback
)
});
gulp.task('iconfont', function(done){
var iconStream = gulp.src(['app/images/svg/*.svg'])
.pipe(iconfont({
fontName: 'icons',
}));
async.parallel([
function handleGlyphs(cb) {
iconStream.on('glyphs', function(glyphs, options) {
gulp.src('conf/_iconfont-template.scss')
.pipe(consolidate('lodash', {
glyphs: glyphs,
fontName: 'icons',
fontPath: '../fonts/',
className: 's'
}))
.pipe(gulp.dest('app/scss/utilities/'))
.on('finish', cb);
});
},
function handleFonts (cb) {
iconStream
.pipe(gulp.dest('app/fonts/'))
.on('finish', cb);
}
], done);
});
这是我的gulpfile.js。
附:这也使得我不必每次都安装所有东西。做一次,我可以复制启动器。
好的,我设法解决了这个问题。 Gulp已更新至版本4,因此我需要更改代码并使用
gulp.task('watch', gulp.series('sass'), function (){
gulp.watch('app/scss/**/*.scss', gulp.series(gulp.parallel('sass' , 'sass-lint' )));
});