從短期來看,當我們從 vue 2/webpack 轉換為 vue 3/vite 時,我需要同時維護 webpack 和 vite 構建。否則我們將永遠無法找到時間進行 vite 的遷移。
我找到了解決許多差異的方法,以便兩者的代碼相同。不過,我堅持這一點。我正在匯入一個包含行內的 svg。
在 vue 2/webpack 我這樣做:
import myimage from "!rawloader!@/assets/icons/myimage.svg"
在 vue 3/vite 我這樣做:
import myimage from "@/assets/icons/myimage.svg?raw"
如果我添加?raw到 webpack 版本,它會起作用,所以我想做的是能夠!rawloader!在 vite 版本中擁有并讓 vite 忽略它。那可能嗎?
我的第一個想法是像這樣在 vite.config.ts 中定義:
define: {
'!rawloader!': '',
}
但這給了我錯誤:
? [ERROR] The define key "!rawloader!" must be a valid identifier
? [ERROR] Invalid define value (must be valid JSON syntax or a single identifier):
有沒有辦法告訴 vite 通過文本替換完全過濾掉特定的字串?
或者,有沒有辦法在沒有的情況下在 webpack 中加載 svg !rawloader!?
uj5u.com熱心網友回復:
您可以在中定義別名vite.config.js:
export default defineConfig({
...
resolve: {
alias: {
"!rawloader!": ''
}
}
})
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/459402.html
