安装gulp
npm install gulp -g 全局安装gulp
然后安装
npm install gulp-cli -g
代码编写:
//引用gulp模块
const gulp = require('gulp');
//使用gulp.task()建立任务
gulp.task('first', () => {
console.log('第一个gulp任务执行了');
//要处理的文件 //将处理后的文件输出到dist目录下
gulp.src('./src/css/base.css')
.pipe(gulp.dest('./dist/css'));
});
然后在运行 gulp frist
,出现问题;
大致如下几种:
考虑:
- 配置环境变量(PATH):查找环境变量的方法:在dos下输入npm config get prefix就会显示一个地址,这个地址就是那个系统变量PATH,然后在系统变量添加地址;
- PowerShell禁止本地执行脚本:
(1)管理员身份打开powerShell
(2)输入set-ExecutionPolicy RemoteSigned
(3) 选择Y ;
然后执行代码:
出现错误:
出现*‘first’ errored after*或者
[01:26:16] The following tasks did not complete: first
[01:26:16] Did you forget to signal async completion
原因:
https://www.cnblogs.com/sphjy/p/11538264.html
这是gulp版本使用task时,回调函数使用匿名函数带来的问题,gulpgulp不再支持同步任务
解决方案有很多具体参考
https://www.gulpjs.com.cn/docs/getting-started/async-completion/
比较简单的方法就是 添加callback,来指示函数完成
即代码修改为:
//引用gulp模块
const gulp = require('gulp');
//使用gulp.task()建立任务
gulp.task('first', (cb) => {
console.log('第一个gulp任务执行了');
//要处理的文件 //将处理后的文件输出到dist目录下
gulp.src('./src/css/base.css')
.pipe(gulp.dest('./dist/css'));
cb();
});
最后成功: