Web 使用MD5重命名文件

Web 使用MD5重命名文件,web,gulp,frontend,Web,Gulp,Frontend,正在浏览网站上的“大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大。是否存在使用MD5重命名文件很有用的情况以及原因?优点之一是,您可以将应用程序设置为在名称中使用MD5 sum(例如mystyle.a345fe.css)缓存文件很长时间(几个月),因为您知道此文件永远不会被修改。这将为您节省一些流量,并且您的网站对于返回的访问者来说会更快。我使用了一个类似的工具进行缓存破坏(名为,它将文件内容的MD5哈希添加到文件名

正在浏览网站上的“大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大口大。是否存在使用MD5重命名文件很有用的情况以及原因?

优点之一是,您可以将应用程序设置为在名称中使用MD5 sum(例如mystyle.a345fe.css)缓存文件很长时间(几个月),因为您知道此文件永远不会被修改。这将为您节省一些流量,并且您的网站对于返回的访问者来说会更快。

我使用了一个类似的工具进行缓存破坏(名为,它将文件内容的MD5哈希添加到文件名中)

当您更新CSS或JS文件时,您希望用户在访问您的站点时获得该文件的最新版本。如果您的文件名为“app.min.js”,并且您对其进行了更新,则他们的浏览器可能无法下载最新的文件。如果您正在使用CDN,即使清除浏览器缓存也可能不会请求新文件

我使用了gulp freeze with(存储缓存被破坏文件的名称)和(在html中使用此缓存被破坏文件的名称实际更新
标记)。它真的很方便

代码示例

这将获取您的文件,使用
gulp freeze
构建哈希,使用
gulp filenames
存储该文件的名称,然后使用
gulp html replace
将其写入html。这是测试和工作

var gulp = require("gulp"),
    runSequence = require("run-sequence"),
    $ = require("gulp-load-plugins")();

gulp.task("build", () => {
    runSequence("js", "write-to-view");
});

gulp.task("js", () => {
    return gulp
        .src("./js/**/*.js")
        .pipe($.freeze())
        .pipe($.filenames("my-javascript"))
        .pipe(gulp.dest("./"));
});

gulp.task("write-to-view", () => {
    return gulp
        .src("index.html")
        .pipe(
            $.htmlReplace(
                {
                    js: $.filenames.get("my-javascript")
                },
                { keepBlockTags: true }
            )
        )
        .pipe(gulp.dest("./"));
});
编辑 我应该添加
index.html
只需要这些注释,这样
gulphtmlreplace
就知道在哪里编写
元素

<!--build:js-->
<!-- endbuild -->


它可以防止重复。您是否有机会添加代码来演示实现?