mirror of
https://github.com/electron-vite/electron-vite-vue
synced 2025-02-26 13:00:09 +08:00
45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
const path = require('path')
|
|
const { nodeResolve } = require('@rollup/plugin-node-resolve')
|
|
const commonjs = require('@rollup/plugin-commonjs')
|
|
const esbuild = require('rollup-plugin-esbuild')
|
|
|
|
module.exports = (env = 'production') => {
|
|
return {
|
|
input: path.join(__dirname, '../src/main/index.ts'),
|
|
output: {
|
|
file: path.join(__dirname, '../dist/main/_.js'),
|
|
format: 'cjs',
|
|
name: 'ElectronMainBundle',
|
|
sourcemap: true,
|
|
},
|
|
plugins: [
|
|
nodeResolve(),
|
|
commonjs(),
|
|
esbuild({
|
|
// All options are optional
|
|
include: /\.[jt]sx?$/, // default, inferred from `loaders` option
|
|
exclude: /node_modules/, // default
|
|
// watch: process.argv.includes('--watch'), // rollup 中有配置
|
|
sourceMap: false, // default
|
|
minify: process.env.NODE_ENV === 'production',
|
|
target: 'es2017', // default, or 'es20XX', 'esnext'
|
|
jsxFactory: 'React.createElement',
|
|
jsxFragment: 'React.Fragment',
|
|
// Like @rollup/plugin-replace
|
|
define: {
|
|
__VERSION__: '"x.y.z"'
|
|
},
|
|
// Add extra loaders
|
|
loaders: {
|
|
// Add .json files support
|
|
// require @rollup/plugin-commonjs
|
|
'.json': 'json',
|
|
// Enable JSX in .js files too
|
|
'.js': 'jsx'
|
|
}
|
|
}),
|
|
],
|
|
external: ['fs', 'path', 'electron', 'electron-is-dev'],
|
|
}
|
|
}
|