mirror of
https://github.com/toeverything/AFFiNE.git
synced 2026-02-11 20:08:37 +00:00
fix: electron preload issue (#1603)
This commit is contained in:
@@ -21,7 +21,7 @@ async function createWindow() {
|
||||
sandbox: false,
|
||||
webviewTag: false, // The webview tag is not recommended. Consider alternatives like iframe or Electron's BrowserView. https://www.electronjs.org/docs/latest/api/webview-tag#warning
|
||||
spellcheck: false, // FIXME: enable?
|
||||
preload: join(__dirname, '../../preload/dist/index.js'),
|
||||
preload: join(__dirname, '../preload/index.js'),
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
@@ -2,15 +2,22 @@ import { protocol } from 'electron';
|
||||
import { join } from 'path';
|
||||
|
||||
export function registerProtocol() {
|
||||
protocol.interceptFileProtocol('file', (request, callback) => {
|
||||
const url = request.url.replace(/^file:\/\//, '');
|
||||
if (url.startsWith('./')) {
|
||||
const realpath = join(
|
||||
__dirname,
|
||||
'../../../resources/web-static',
|
||||
decodeURIComponent(url)
|
||||
);
|
||||
callback(realpath);
|
||||
}
|
||||
});
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
protocol.interceptFileProtocol('file', (request, callback) => {
|
||||
const url = request.url.replace(/^file:\/\//, '');
|
||||
const webStaticDir = join(__dirname, '../../../resources/web-static');
|
||||
if (url.startsWith('./')) {
|
||||
// if is a file type, load the file in resources
|
||||
if (url.split('/').at(-1)?.includes('.')) {
|
||||
const realpath = join(webStaticDir, decodeURIComponent(url));
|
||||
callback(realpath);
|
||||
} else {
|
||||
// else, fallback to load the index.html instead
|
||||
const realpath = join(webStaticDir, 'index.html');
|
||||
console.log(realpath, 'realpath', url, 'url');
|
||||
callback(realpath);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user