remove vite-plugin-electron-config

This commit is contained in:
草鞋没号 2022-01-31 09:30:04 +08:00
parent 7f4978cae1
commit c41f406bc9
1 changed files with 10 additions and 21 deletions

View File

@ -41,26 +41,15 @@ export default defineConfig({
// ------- For use Electron, NodeJs in Renderer-process -------
// https://github.com/caoxiemeihao/electron-vue-vite/issues/52
export function resolveElectron(resolves: Parameters<typeof resolve>[0] = {}): Plugin[] {
export function resolveElectron(resolves: Parameters<typeof resolve>[0] = {}): Plugin {
const builtins = builtinModules.filter(t => !t.startsWith('_'))
return [
{
name: 'vite-plugin-electron-config',
config(config) {
if (!config.optimizeDeps) config.optimizeDeps = {}
if (!config.optimizeDeps.exclude) config.optimizeDeps.exclude = []
config.optimizeDeps.exclude.push('electron', ...builtins)
},
},
// https://github.com/caoxiemeihao/vite-plugins/tree/main/packages/resolve#readme
resolve({
electron: electronExport(),
...builtinModulesExport(builtins),
...resolves,
})
]
// https://github.com/caoxiemeihao/vite-plugins/tree/main/packages/resolve#readme
return resolve({
electron: electronExport(),
...builtinModulesExport(builtins),
...resolves,
})
function electronExport() {
return `
@ -98,9 +87,9 @@ export function resolveElectron(resolves: Parameters<typeof resolve>[0] = {}): P
function builtinModulesExport(modules: string[]) {
return modules.map((moduleId) => {
const nodeModule = require(moduleId)
const requireModule = `const __builtinModule = require("${moduleId}");`
const exportDefault = `export default __builtinModule`
const exportMembers = Object.keys(nodeModule).map(attr => `export const ${attr} = __builtinModule.${attr}`).join(';\n') + ';'
const requireModule = `const M = require("${moduleId}");`
const exportDefault = `export default M;`
const exportMembers = Object.keys(nodeModule).map(attr => `export const ${attr} = M.${attr}`).join(';\n') + ';'
const nodeModuleCode = `
${requireModule}