配置
正如 electron-webpack
可以作为一个简单的模块来满足您的大部分开发需求一样,您也可以根据需要加入您自己的配置。请注意,当使用预期的默认值时,无需进行任何配置。
配置可以在 package.json
中的 electronWebpack
处应用,也可以在单独的 electron-webpack.(json|json5|yml)
中应用。为了本文档的目的,我们将使用 package.json
方法,并且示例将显示适用时的默认值。
可用选项概览
"electronWebpack": {
"commonSourceDirectory": "src/common",
"staticSourceDirectory": "src/static",
"title": true,
"whiteListedModules": ["foo-ui-library"],
"main": {
"extraEntries": ["@/preload.js"],
"sourceDirectory": "src/main",
"webpackConfig": "custom.webpack.additions.js"
},
"renderer": {
"dll": ["fooModule"],
"sourceDirectory": "src/renderer",
"template": "src/renderer/index.html",
"webpackConfig": "custom.webpack.additions.js",
"webpackDllConfig": "custom.webpackDll.additions.js"
}
}
源目录¶
定义进程或常用目录的路径,相对于项目的根目录。如果您不希望 electron-webpack
处理打包,则 renderer.sourceDirectory
可以为 null
。
"electronWebpack": {
"commonSourceDirectory": "src/common",
"staticSourceDirectory": "src/static",
"main": {
"sourceDirectory": "src/main"
},
"renderer": {
"sourceDirectory": "src/renderer"
}
}
BrowserWindow 标题¶
定义默认的 BrowserWindow 标题。 true
(默认值):标题根据 package.json
名称或使用 electron-builder
时的 productName
自动设置 String:使用自定义字符串作为标题
"electronWebpack": {
"title": true,
/* or */
"title": "My Custom Title"
}
main
进程的附加入口点¶
对于那些您需要额外 入口点 的情况。当您需要 BrowserWindow 的预加载脚本时,这可能很有用。
"electronWebpack": {
"main": {
"extraEntries": ["@/preload.js"]
}
}
@
别名来引用您的 main.sourceDirectory
。
Dll bundle splitting¶
有关更多信息,请参阅 Dll Bundle Splitting。
"electronWebpack": {
"renderer": {
"dll": ["fooModule"]
}
}
白名单外部模块¶
由于 webpack
被设置为以 electron
环境为目标,因此所有模块都被视为 外部模块。不幸的是,在某些情况下,某些模块可能不希望出现这种行为。对于某些提供原始 *.vue
组件的 Vue UI 库,它们将需要被列入白名单。这确保 vue-loader
能够按照 UI 库最初预期的方式编译它们。
"electronWebpack": {
"whiteListedModules": ["foo-ui-library"]
}
修改后的 Webpack 配置¶
有关更多信息,请参阅 修改 Webpack 配置。
"electronWebpack": {
"main": {
"webpackConfig": "custom.additions.webpack.js"
},
"renderer": {
"webpackConfig": "custom.additions.webpack.js",
"webpackDllConfig": "custom.additions.webpack.js"
}
}