npm 包 gulp-make-css-url-version-extend 使用教程

阅读时长 6 分钟读完

介绍

gulp-make-css-url-version-extend 是一个用于给 CSS 中的 URL 链接加上版本号的插件,它可以帮助前端开发者解决浏览器缓存问题,让新的样式能够被用户及时地下载和使用。

这个插件依赖于 gulp,因此需要安装 Node.js 和 Gulp 环境才能使用。

安装

使用 npm 安装 gulp-make-css-url-version-extend:

使用方法

在 gulpfile.js 中添加以下代码:

这个代码片段中,我们首先引入了 gulp-make-css-url-version-extend,然后定义了一个名为 css 的任务,这个任务使用了 gulp.src 方法查找 app/css 目录下所有的 .css 文件。然后,我们调用了 cssVersion() 方法来将 CSS 文件中的 URL 链接加上版本号(默认是使用文件的最后修改时间作为版本号)。最后,我们使用 gulp.dest 方法将修改后的 CSS 文件输出到 dist/css 目录下。

参数选项

如果你想要对版本号的生成方式进行个性化设置,可以在 cssVersion() 方法中传递一个对象,这个对象可以包含一些参数选项来定制版本号生成规则。

以下是各个选项的含义和默认值:

  • base:String,用于计算相对路径的基础路径,默认值为 CSS 文件所在的目录。
  • key:Function,用于计算版本号的 key 值,参数列表包括文件路径和文件信息,返回值为 key 值,如果不定义,则默认采用文件的最后修改时间。
  • value:Function,用于计算版本号的 value 值,参数列表包括文件路径和文件信息,返回值为 version=value 格式的字符串,如果不定义,则默认采用文件的最后修改时间。
  • mode:String,版本号的模式,可选值为 "query"(添加到查询参数中)和 "pathname"(添加到路径中),默认值为 "query"。
  • hashLength:Number,版本号的长度(只有在 key 和 value 均不指定时才生效),默认值为 16。

下面是一个自定义参数选项的例子:

-- -------------------- ---- -------
---------------- ---------- -
    ------ ----------------------------
        ------
            ------------
                ----- ------
                ---- -------------- -
                    ------ ---------------------------- ----------------------- -----
                --
                ------ -------------- -
                    ------ -----------
                --
                ----- -----------
                ----------- -
            --
        -
        -----------------------------
---

在这个例子中,我们重新定义了 key 和 value 函数来生成自己的版本号。在 key 函数中,我们将文件路径中的反斜杠替换成斜杠,并且将每个路径段的值转化为 “.” 字符。这样,我们就可以根据 CSS 文件的路径来生成版本号。在 value 函数中,我们直接返回当前时间的毫秒值作为版本号,这样我们就可以避免使用文件最后修改时间的问题。最后,我们将模式设置为 "pathname",将版本号添加到路径当中,并且将生成的版本号长度设置为 8。

使用示例

假设我们有以下的目录结构:

我们的目标是在编译 CSS 文件时,给 URL 链接添加版本号,将编译后的文件输出到 dist/css 目录下。

index.css 内容如下:

-- -------------------- ---- -------
-- --------- --
---- -
    ----------------- ---------------------
    ------ ----
-

- -
    ----------------- -------------------------
    ------ -----
-

我们需要在 gulpfile.js 文件中添加以下代码:

然后在命令行执行以下命令:

执行完毕后,我们的 dist/css/index.css 文件会变成这样:

-- -------------------- ---- -------
-- --------- --
---- -
    ----------------- -------------------------------------
    ------ ----
-

- -
    ----------------- -----------------------------------------
    ------ -----
-

可以看到,URL 链接上已经加上了版本号,这样我们在更新图片等资源时就不需要担心用户的浏览器缓存了。

总结

gulp-make-css-url-version-extend 是一个实用的 npm 插件,它可以让我们在编译 CSS 文件时自动为 URL 链接添加版本号。这个插件使用简单,可以方便地解决前端开发中的浏览器缓存问题。我们可以通过传递不同的参数选项来定制版本号的生成方式,从而满足不同的需求。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005730981e8991b448e9347

纠错
反馈