gulp插件gulp-repath使用教程

gulp-repath

简介:

使用gulp-repath可以重写静态资源引用url,主要功能为给js、css、图片加版本号和加cdn等。

1、预备工作:

1.1、安装nodejs 环境。
1.2、本文示例文件结构如图:

2、安装

2.2、安装 npm install --save-dev gulp-repath

3、配置gulpfile.js

3.1、基本使用
var gulp = require('gulp');
var repath = require('gulp-repath');

var repathConf = {
  verMode: 'hash',  // origin, hash, param
  hashName: '{origin}-{hash}',
  baseMap: {'static': './static'},
  element: ['script', 'style', 'image'],
  excludeFile: [],
  replace: {
    '@cdn/': '//localhost:8080/'
  }
};

gulp.task('css', function() {
  gulp.src('./src/*.css')
    .pipe(gulp.dest('static/css'));
});

gulp.task('html', function() {
  return gulp.src('./src/*.html')
  .pipe(gulp.dest('./'));
});

gulp.task('finale-css', ['css', 'html'], function() {
  return gulp.src('static/css/*.css')
    .pipe(repath(repathConf))
    .pipe(gulp.dest('static/css'));
});

gulp.task('finale-html', ['finale-css'], function() {
  return gulp.src('./*.html')
    .pipe(repath(repathConf))
    .pipe(gulp.dest('./'));
});

gulp.task('dev', ['css', 'html']);

gulp.task('prod', ['finale-html']);


3.2、配置解说
var repathConf = {
  verMode: 'hash',  //  值为 origin, hash, param之一,默认param,origin:不处理文件,hash:给文件加hash,param:url添加ver=hash
  hashName: '{origin}-{hash}',// verMode为hash时有效,重命名文件时的模板,{origin}原文件名,{hash}文件最后修改时间的hash
  baseMap: {'static': './static'},// 用来定位url中文件,/static/api.js 定位到文件系统为  项目目录/static/api.js
  element: ['script', 'style', 'image'], // 替换处理script脚本,link样式,和图片 
  excludeFile: [],  // 不处理的文件名  main.css
  replace: {
    '@cdn/': '//localhost:8080/'   // 替换的链接,比如cdn, 路径,都可以
  }
};

3.3、示例代码输出
hash模式
/static/js/api.js => /static/js/api-a3b35d82dd89ab76.js

@cdn/static/img/bg.jpg => //localhost:8080/static/img/bg-a3b35d82dd89ab76.jpg

param模式
/static/js/api.js => /static/js/api.js?ver=a3b35d82dd89ab76

@cdn/static/img/bg.jpg => //localhost:8080/static/img/bg.jpg?ver=a3b35d82dd89ab76

建议在所有css、js、图片文件都处理完毕后再用gulp-repath来做简单替换,插件只做简单的替换和加版本号,不会创建子文件夹和移动文件,这个要注意下。
还有,如果有什么bug和建议,也欢迎留言讨论或者提issue,谢谢。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值