perf: resolve import meta url in CommonJS format
This commit is contained in:
parent
963f8aba51
commit
619a337c6d
|
@ -18,6 +18,7 @@ import { build } from 'esbuild'
|
|||
import { electronMainVitePlugin, electronPreloadVitePlugin, electronRendererVitePlugin } from './plugins/electron'
|
||||
import assetPlugin from './plugins/asset'
|
||||
import workerPlugin from './plugins/worker'
|
||||
import importMetaUrlPlugin from './plugins/importMetaUrl'
|
||||
import esmShimPlugin from './plugins/esm'
|
||||
import { isObject } from './utils'
|
||||
|
||||
|
@ -136,6 +137,7 @@ export async function resolveConfig(
|
|||
...electronMainVitePlugin({ root }),
|
||||
assetPlugin(),
|
||||
workerPlugin(),
|
||||
importMetaUrlPlugin(),
|
||||
esmShimPlugin()
|
||||
])
|
||||
|
||||
|
@ -149,7 +151,12 @@ export async function resolveConfig(
|
|||
if (outDir) {
|
||||
resetOutDir(preloadViteConfig, outDir, 'preload')
|
||||
}
|
||||
mergePlugins(preloadViteConfig, [...electronPreloadVitePlugin({ root }), assetPlugin(), esmShimPlugin()])
|
||||
mergePlugins(preloadViteConfig, [
|
||||
...electronPreloadVitePlugin({ root }),
|
||||
assetPlugin(),
|
||||
importMetaUrlPlugin(),
|
||||
esmShimPlugin()
|
||||
])
|
||||
|
||||
loadResult.config.preload = preloadViteConfig
|
||||
loadResult.config.preload.configFile = false
|
||||
|
|
15
src/plugins/importMetaUrl.ts
Normal file
15
src/plugins/importMetaUrl.ts
Normal file
|
@ -0,0 +1,15 @@
|
|||
import type { Plugin } from 'vite'
|
||||
|
||||
export default function importMetaUrlPlugin(): Plugin {
|
||||
return {
|
||||
name: 'vite:import-meta-url',
|
||||
apply: 'build',
|
||||
enforce: 'pre',
|
||||
resolveImportMeta(property, { format }): string | null {
|
||||
if (property === 'url' && format === 'cjs') {
|
||||
return `require("url").pathToFileURL(__filename).href`
|
||||
}
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue