gulp的安装和使用

gulp的安装和使用

gulp安装前需有nodejs和npm环境(最好用cnpm)
npm介绍

  1. 说明:npm(node package manager)nodejs的包管理器,用于node插件管理(包括安装、卸载、管理依赖等);

  2. 使用npm安装插件:命令提示符执行npm install [-g] [–save-dev];

    1. :node插件名称。例:npm install gulp-less –save-dev

    2. -g:全局安装。将会安装在C:\Users\Administrator\AppData\Roaming\npm,并且写入系统环境变量; 非全局安装:将会安装在当前定位目录; 全局安装可以通过命令行在任何地方调用它,本地安装将安装在定位目录的node_modules文件夹下,通过require()调用;

    3. -dev:保存至package.json的devDependencies节点,不指定-dev将保存至dependencies节点;一般保存在dependencies的像这些express/ejs/body-parser等等。

  3. 为什么要保存至package.json?因为node插件包相对来说非常庞大,所以不加入版本管理,将配置信息写入package.json并将其加入版本管理,其他开发者对应下载即可(命令提示符执行npm install,则会根据package.json下载所有需要的包,npm install –production只下载dependencies节点的包)。

  4. 使用npm卸载插件:npm uninstall [-g] [–save-dev] PS:不要直接删除本地插件包

  5. 删除全部插件:npm uninstall gulp-less gulp-uglify gulp-concat ……???太麻烦

  6. 借助rimraf:npm install rimraf -g 用法:rimraf node_modules

  7. 使用npm更新插件:npm update [-g] [–save-dev]

    1. 更新全部插件:npm update [–save-dev]

    2. 查看npm帮助:npm help

    3. 当前目录已安装插件:npm list

安装gulp(全局)

  1. 在终端输入npm install gulp -g
  2. 安装完成后,同样输入gulp -v输出相应的版本号,则说明安装成功。
    至此gulp安装完成

配置项目

下面以一个简单案例来做演示:创一个gulp文件夹作为项目根目录,项目结构如下:这里写图片描述
我们以常用的 gulp-uglify、gulp-concat、gulp-minify-css为例。
先是配置package.json文件,有三种方法:
1. 可以用记事本之类的创建一个
2. 用npm init创建(npm init会自动生成)
3. 也可以复制之前项目的创建好的package.json

本地安装gulp及gulp插件

本地安装gulp

npm install gulp –save-dev(加上–save-dev会把描述自动写入在package.json中)

安装完成后

gulp模块下载到项目中的node_modules文件夹中。

package.json中写入了devDependencies字段,并在该字段下填充了gulp模块名

本地安装gulp插件

接下来安装上面提到的三个插件,在终端中输入

npm install –save-dev gulp-uglify gulp-concat gulp-minify-css

创建gulpfile.js文件

在项目根目录下创建gulpfile.js文件,然后编写如下代码

/引入gulp及相关插件 require(‘node_modules里对应模块’)/
var gulp = require(‘gulp’);
var minifyCss = require(“gulp-minify-css”);
var uglify = require(‘gulp-uglify’);
var concat = require(‘gulp-concat’);
//压缩
gulp.task(‘minify-css’, function () {
gulp.src(‘css/*.css’)
.pipe(minifyCss())
.pipe(gulp.dest(‘dist/css/’));
});
//
gulp.task(‘script’, function () {
gulp.src([‘src/a.js’,”src/b.js”])
.pipe(concat(‘all.js’))
.pipe(uglify())
.pipe(gulp.dest(‘dist/js’));
});
gulp.task(‘default’,[‘minify-css’,’script’]);

运行gulp

可以看到,我们在gulpfile.js创建了3个任务,其实是两个,最后一个是合并上面两个任务。然后我们就可以在终端来运行上面的作务了,在终端输入
说明:命令提示符执行gulp 任务名称

gulp minify-css
运行结果:在dist/css/目录下生成了我们压缩后的css文件。

ps一直在控制台输入命令比较麻烦,可以在PHPstorm和webstorm中直接运行

### 安装 gulp-font-spider 为了使用 `gulp-font-spider` 工具,在项目环境中需先安装 Node.js npm。接着,可以通过 npm 来安装插件作为开发依赖项: ```bash npm install --save-dev gulp-font-spider ``` 这会将 `gulp-font-spider` 添加到项目的 devDependencies 中并下载至 node_modules 文件夹内[^1]。 ### 配置 gulpfile.js 在完成上述安装之后,需要配置 `gulpfile.js` 文件来定义具体的任务逻辑。下面是一个基本的例子展示如何设置一个名为 'fontspider' 的 Gulp 任务用于处理 HTML 文件中的字体资源: ```javascript const gulp = require('gulp'); const fontSpider = require('gulp-font-spider'); // 创建一个名为 "fontspider" 的任务 gulp.task('fontspider', function() { return gulp.src('path/to/your/html/file.html') .pipe(fontSpider()) .pipe(gulp.dest('dist/fonts')); }); // 设置默认任务执行顺序 gulp.task('default', gulp.series('fontspider')); ``` 这段代码指定了源文件路径 (`path/to/your/html/file.html`) 并将其传递给 `fontSpider()` 方法进行处理;最后再把经过处理后的结果输出到指定的目标位置 ('dist/fonts')[^2]。 对于更复杂的场景,比如在一个 Vue 或 React 单页面应用里,可能还需要额外考虑其他因素如 Webpack 构建流程集成等问题。不过以上就是最基本的安装使用的介绍[^4]。 ### 处理延迟问题 值得注意的是,在某些情况下由于缺少回调机制可能导致字体未完全压缩就被复制的情况发生。为了避免这种情况可以采用延时策略确保所有操作按预期完成: ```javascript var dirs = { dist: './build' }; // 自定义目标目录变量 // 将压缩完的字体移动到 dist 目录下 gulp.task('copyFont', function(done){ setTimeout(function(){ return gulp.src('./src/style/font/*.ttf') .pipe(gulp.dest(dirs.dist + '/font')) .on('end', done); }, 2000); // 调整时间间隔以适应实际需求 }); ``` 这里通过监听事件流结束(`.on('end', done)`)的方式替代了简单的返回语句,并且调整了定时器的时间长度以便更好地匹配具体环境下的性能表现[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值