正在瀏覽npm網站上的gulp軟件包,並遇到此軟件包gulp-rename-md5。是否有使用MD5重命名文件的方案很有用,爲什麼?使用MD5重命名文件
1
A
回答
1
我使用了一個類似的緩存清除工具(稱爲gulp-freeze,它將文件內容的MD5哈希添加到文件名中)。
更新CSS或JS文件時,您希望用戶在訪問您的網站時獲取該文件的最新版本。如果您的文件被命名爲「app.min.js」並且您更新了它們,那麼他們的瀏覽器可能無法下載最新的文件。如果您使用CDN,即使清除瀏覽器緩存可能也不會請求新文件。
我用一口凍結與gulp-filenames(存儲緩存破獲文件名)和gulp-html-replace(實際上這個緩存的名稱更新<link />
或<script />
標籤破獲文件中的HTML)。這真的很方便。
代碼示例
這將讓你的文件,使用gulp-freeze
構建hash,用gulp-filenames
來存儲文件的名稱,然後寫的HTML與gulp-html-replace
。這是測試和工作
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
只需要這些意見,以便gulp-html-replace
知道哪裏來的<script />
元素
<!--build:js-->
<!-- endbuild -->
+0
您可以添加代碼來演示實現嗎? – denislexic
1
其中一個好處是,你可以設置你的應用程序緩存文件在他們的名字很長一段時間(幾個月),因爲你知道,這個文件將永遠不會被修改的MD5校驗和(例如mystyle.a345fe.css)。這將爲您節省一些流量,並且您的網絡對於回訪者而言將更快。
相關問題
- 1. 使用MD5或隨機文件命名?
- 2. 重命名文件使用MATLAB命令
- 3. 使用python重命名文件名
- 4. 使用Python重命名文件名
- 5. 文件名使用.bat重命名?
- 6. 將文件重命名爲md5 sum + extension(BASH)
- 7. Ant:重命名文件以包含它們的MD5
- 8. 用NPM重命名文件
- 9. 用filepicker.io重命名文件
- 10. 用uploadify重命名文件
- 11. 用Git重命名文件
- 12. 用InkFilePicker重命名文件
- 13. 用Python重命名文件
- 14. 使用索引重命名文件(Excel)
- 15. 使用shell腳本重命名文件
- 16. 使用VBScript重命名一個文件
- 17. 使用R進行文件重命名
- 18. 使用Bash批量重命名文件
- 19. 使用熊貓重命名文件
- 20. 使用Excel VBA重命名文件
- 21. 使用.bat重命名多個文件
- 22. 如何使用java重命名文件
- 23. 使用AjaxForm重命名文件Jquery
- 24. 如何使用Python重命名文件
- 25. 使用VBScript重命名子文件夾
- 26. 使用RegEx重命名文件夾
- 27. 使用smo重命名數據文件
- 28. 如何使用ajax重命名文件
- 29. 使用php重命名文件
- 30. 如何使用Node.js重命名文件
它可以防止重複一寫。 – PeeHaa