使用 Vite 構建應用程式,我在 Electron 中收到以下錯誤:
index.c160f204.js:9 DOMException: Failed to execute 'querySelector' on 'Document': 'link[href="/C:UsersrankDocumentsSchoolCheckInElectronReaderdist/assets/Home.b0f26e4d.js"]' is not a valid selector.
在我看來,構建代碼中的路徑已洗掉斜杠,但我不知道如何解決這個問題,因為它是生成的代碼。
在 Windows 11 上使用節點 17.9.010.0.22000 Build 22000
電子main.js:
const { app, BrowserWindow } = require("electron");
const path = require("path");
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, "preload.js"),
},
});
win.loadFile("dist/index.html");
}
app.whenReady().then(() => {
createWindow();
app.on("activate", () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow();
}
});
});
app.on("window-all-closed", () => {
if (process.platform !== "darwin") {
app.quit();
}
});
電子preload.js:
window.addEventListener("DOMContentLoaded", () => {
const replaceText = (selector, text) => {
const element = document.getElementById(selector);
if (element) element.innerText = text;
};
for (const type of ["chrome", "node", "electron"]) {
replaceText(`${type}-version`, process.versions[type]);
}
});
Vite.config.ts:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import * as path from "path";
// https://vitejs.dev/config/
export default defineConfig({
base: path.resolve(__dirname, './dist'),
plugins: [
vue(),
],
})
用于vue-tsc --noEmit && vite build構建和electron .啟動。
uj5u.com熱心網友回復:
如果您將錯誤代碼復制/粘貼到瀏覽器控制臺中,您會注意到鏈接中有一個非 UTF-8 字符,位于Users和之間rank。

擺脫它,它應該作業。
解決此問題的最簡單方法是將專案移動到不包含奇怪字符的路徑(例如C:/projects/:)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/465376.html
