![](/img/trans.png)
[英]In Webpack, how to get multiple outputs with a single entry main.js(having multiple css files inside files)?
[英]How do I bust the cache so users get all the new static files (eg. style.CSS, main.js)?
我正在將一個全新的網站重新設計部署到現有域上。 我將在12:00 AM用新文件手動替換所有文件,但是如何確保用戶不會獲得舊網站的緩存版本(從而破壞了所有內容)?
另外,如何更改站點地圖,以便替換Google上的舊站點地圖?
有兩種方法,您可以使用webpack之類的工具,也可以使用gulp中的插件,grunt會為生成的文件名添加hash
,
所以文件名會像這樣
someabc.RandomAlphanumeric.js
其中RandomAlphanumeric
隨機生成的哈希
如果您不使用任何構建工具,則可以將文件命名為
<script type="text/javascript" src="/folder/js/someFile.js?v1"></script>
注意使用?
通常在文件名后附有時間戳
有幾種破壞緩存的方法。
最簡單的方法是將過期標頭添加到該類型的文件。 這可以在Apache配置中完成,如下所示:
<FilesMatch "\.(gif|jpg|js|css)$">
ExpiresActive On
ExpiresDefault "access plus 10 years"
</FilesMatch>
您還可以在每種資源的URL中使用新的查詢字符串值。
另一個選項是路由到更新文件的文件名中的更新版本號。
您需要等待Google的網絡抓取工具為更改編制索引。 這不是您可以控制的東西。
如果要重新部署整個站點,我懷疑您想向每個文件添加?v1。 而且由於您的文件已被緩存,所以我認為這將不會非常有效。 我將在服務器級別查看一個選項。 大多數主機都可以選擇禁用或刷新緩存。 那是你最好的選擇!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.