mirror of
https://github.com/electron-vite/electron-vite-vue
synced 2025-01-19 20:07:06 +08:00
fix: 构建环境避开 esm2cjs
This commit is contained in:
parent
099467de43
commit
abd91f809a
@ -1,4 +1,3 @@
|
|||||||
import fs from 'fs'
|
|
||||||
import path from 'path'
|
import path from 'path'
|
||||||
import acorn from 'acorn'
|
import acorn from 'acorn'
|
||||||
import { Plugin as RollupPlugin } from 'rollup'
|
import { Plugin as RollupPlugin } from 'rollup'
|
||||||
@ -29,7 +28,7 @@ export function cjs2esm() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** esm2cjs */
|
/** esm2cjs */
|
||||||
export function esm2cjs(needConvertModules: string[]): VitePlugin {
|
export function esm2cjs(moduleList: string[]): VitePlugin {
|
||||||
const filter = {
|
const filter = {
|
||||||
include: (id: string) => vue_js_ts_extensions.includes(path.parse(id).ext)
|
include: (id: string) => vue_js_ts_extensions.includes(path.parse(id).ext)
|
||||||
}
|
}
|
||||||
@ -47,9 +46,8 @@ export function esm2cjs(needConvertModules: string[]): VitePlugin {
|
|||||||
|
|
||||||
let codeRet = code
|
let codeRet = code
|
||||||
node.body.reverse().forEach((item) => {
|
node.body.reverse().forEach((item) => {
|
||||||
console.log(item)
|
|
||||||
if (item.type !== 'ImportDeclaration') return
|
if (item.type !== 'ImportDeclaration') return
|
||||||
if (!needConvertModules.includes(item.source.value)) return // 跳过不要转换的模块
|
if (!moduleList.includes(item.source.value)) return // 跳过不要转换的模块
|
||||||
|
|
||||||
const statr = codeRet.substring(0, item.start)
|
const statr = codeRet.substring(0, item.start)
|
||||||
const end = codeRet.substring(item.end)
|
const end = codeRet.substring(item.end)
|
||||||
@ -80,8 +78,6 @@ const { ${modules.join(', ')} } = ${deftModule}${end}`
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
fs.writeFileSync(path.join(__dirname, '.tmp/') + `${parsed.name + parsed.ext}.js`, codeRet)
|
|
||||||
|
|
||||||
return codeRet
|
return codeRet
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -6,7 +6,6 @@ import { ipcRenderer } from 'electron'
|
|||||||
import Store from 'electron-store'
|
import Store from 'electron-store'
|
||||||
import './index.css'
|
import './index.css'
|
||||||
|
|
||||||
console.log('fs', fs)
|
|
||||||
console.log('ipcRenderer:', ipcRenderer)
|
console.log('ipcRenderer:', ipcRenderer)
|
||||||
console.log('electron-store', new Store({ name: 'electron-vue' }))
|
console.log('electron-store', new Store({ name: 'electron-vue' }))
|
||||||
|
|
||||||
|
@ -13,13 +13,21 @@ import {
|
|||||||
const root = join(__dirname, 'src/render')
|
const root = join(__dirname, 'src/render')
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig(env => {
|
||||||
|
const isserve = env.command === 'serve'
|
||||||
|
|
||||||
|
return {
|
||||||
plugins: [
|
plugins: [
|
||||||
vue(),
|
vue(),
|
||||||
|
...(isserve ? [
|
||||||
|
/**
|
||||||
|
* !!! 开发期将 electron 及相关模块转换成 commonjs 避开 vite 处理
|
||||||
|
*/
|
||||||
esm2cjs([
|
esm2cjs([
|
||||||
'electron',
|
'electron',
|
||||||
'electron-store',
|
'electron-store',
|
||||||
]),
|
]),
|
||||||
|
] : []),
|
||||||
],
|
],
|
||||||
root,
|
root,
|
||||||
base: './', // index.html 中静态资源加载位置
|
base: './', // index.html 中静态资源加载位置
|
||||||
@ -35,7 +43,10 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
optimizeDeps: {
|
optimizeDeps: {
|
||||||
exclude: ['electron'],
|
exclude: [
|
||||||
|
'electron',
|
||||||
|
'electron-store', // optional
|
||||||
|
],
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
outDir: join(__dirname, 'dist/render'),
|
outDir: join(__dirname, 'dist/render'),
|
||||||
@ -58,4 +69,5 @@ export default defineConfig({
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user