Vite處理html模板插件之vite-plugin-html插件使用
前言
背景:項(xiàng)目中需要使用模板html動(dòng)態(tài)處理比如 icon 、title。我的項(xiàng)目里是需要在不同的打包指令下,打包的結(jié)果中index.html 中title 和 icon都不一致。之前的項(xiàng)目使用的是 html-webpack-plugin 插件。安裝該插件的使用需要注意你項(xiàng)目的webpack版本,安裝對(duì)應(yīng)的版本插件。本次因?yàn)轫?xiàng)目是vite項(xiàng)目,所以采用vite-plugin-html插件。本文作為使用記錄。結(jié)尾還有個(gè)疑問一直沒有解決,歡迎大神留言解答一下。
一、項(xiàng)目目錄
項(xiàng)目目錄如下,主要關(guān)注紅框的 html文件

二、index.html

三、vite.config.js
主要目的 是以template 值對(duì)應(yīng)的 html 為模板,為其注入一些動(dòng)態(tài)值。這里主要是 title、icon。
import { createHtmlPlugin } from 'vite-plugin-html'
export default defineConfig({
plugins: [
createHtmlPlugin({
minify: true,
pages: [
{
filename: 'index.html',
template: 'index.html',
injectOptions: {
data: {
title: product,
injectIcoLink: `<link rel="icon" href="${getFaviconPath()}" />`,
pubId: pubIdObj[product],
},
},
},
{
filename: '/legale/cookie/index.html',
template: '/legal/cookie/index.html',
injectOptions: {
data: {
title: product,
injectIcoLink: `<link rel="icon" href="${getFaviconPath()}" />`,
productName: product,
},
},
},
{
filename: '/legale/privacy/index.html',
template: '/legal/privacy/index.html',
injectOptions: {
data: {
title: product,
injectIcoLink: `<link rel="icon" href="${getFaviconPath()}" />`,
productName: product,
},
},
},
{
filename: '/legale/service/index.html',
template: '/legal/service/index.html',
injectOptions: {
data: {
title: product,
injectIcoLink: `<link rel="icon" href="${getFaviconPath()}" />`,
productName: product,
},
},
},
],
})
]
})
四、打包dist的結(jié)果
打包結(jié)果如預(yù)期,legal 整個(gè)文件夾都打到了dist 目錄下,并且html 需要注入的值也都對(duì)應(yīng)的注入進(jìn)去了。

五、有個(gè)疑問
本地環(huán)境打不開 legal里的html,結(jié)果如下。但是 postman 可以獲取到 html 內(nèi)容。 線上生產(chǎn)環(huán)境也是沒有問題的,可以打開頁(yè)面。 歡迎大佬給出建議。


總結(jié)
到此這篇關(guān)于Vite處理html模板插件之vite-plugin-html插件使用的文章就介紹到這了,更多相關(guān)Vite vite-plugin-html插件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決vue項(xiàng)目跳轉(zhuǎn)同樣的頁(yè)面不刷新的問題思路詳解
做公司官網(wǎng)項(xiàng)目的時(shí)候遇到的場(chǎng)景,頂部導(dǎo)航欄分類商品跳轉(zhuǎn)到分類詳情,然后在分類詳情再次點(diǎn)擊頂部導(dǎo)航欄里另外的分類商品,跳到同樣的頁(yè)面數(shù)據(jù)不刷新,下面小編給大家分享解決方式,關(guān)于vue跳轉(zhuǎn)不刷新問題感興趣的朋友一起看看吧2023-09-09
詳解vue中router-link標(biāo)簽所必備了解的屬性
這篇文章主要介紹了vue中router-link標(biāo)簽所必備了解的屬性,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
vue3 開始時(shí)間與結(jié)束時(shí)間比較驗(yàn)證(結(jié)束時(shí)間需要大于開始時(shí)間)
本文通過示例代碼介紹了vue3 開始時(shí)間與結(jié)束時(shí)間比較驗(yàn)證(結(jié)束時(shí)間需要大于開始時(shí)間)的相關(guān)操作,代碼簡(jiǎn)單易懂,感興趣的朋友跟隨小編一起看看吧2024-07-07
Vue不能檢測(cè)到Object/Array更新的情況的解決
本篇文章主要介紹了Vue不能檢測(cè)到Object/Array更新的情況的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2018-06-06
在vue使用echarts報(bào)錯(cuò):invalid dom問題
這篇文章主要介紹了在vue使用echarts報(bào)錯(cuò):invalid dom問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

