vue怎麼設置html不緩存 但是js、css等文件做緩存

在 Vue.js 項目中,我們通常使用 webpack 打包工具進行編譯構建,其中 HTML 文件通常不做緩存,而 JS、CSS 文件需要做緩存。這可以通過 webpack 的配置實現。下面是針對你的問題的步驟:

1. 打開 webpack 的配置文件 webpack.config.js 或者 webpack.prod.config.js(如果你的項目是基於 vue-cli 搭建的,可能需要修改 vue.config.js 文件)
2. 爲了讓 JS、CSS 文件在每次編譯後都產生新的文件名防止瀏覽器緩存,我們需要對 output 配置做如下修改:

```javascript
output: {
  filename: '[name].[chunkhash].js',
  chunkFilename: '[id].[chunkhash].js'
}
```
上面的配置確保每次編譯後產生新的文件名,"[chunkhash]"是根據文件內容計算出來的 hash ,內容不變則 hash 不變,所以有效避免了瀏覽器緩存。

3. 對於 CSS ,我們需要使用 ExtractTextPlugin 插件,同樣在其配置中加入內容哈希:

```javascript
new ExtractTextPlugin('[name].[contenthash].css')
```

4. HTML 文件不緩存,首先我們需要知道,一般來說,HTML 是沒有做瀏覽器緩存的,除非你在服務器配置了強制緩存。如果你的服務器對 HTML 文件配置了強制緩存,你需要修改服務器的配置,設置 no-cache 或 must-revalidate 來禁止 HTML 文件的緩存。

5. 其次,如果你使用了 webpack 的 HtmlWebpackPlugin 插件來生成 HTML 文件,你需要確保這個插件的配置中沒有設置緩存。如果有的話,你需要關閉這個配置:

```javascript
new HtmlWebpackPlugin({
  ...,
  cache: false
})
```

以上就是在 Vue.js 中設置 HTML 不緩存,而 JS、CSS 文件做緩存的具體方法。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章