跳到内容

作为库扩展

使用 electron-webpack 的巨大好处之一是 webpack 的所有文档仍然适用。您可以轻松跳过使用提供的 CLI 并修改配置以满足您的需求。由于 electron 使用多进程架构,因此也有多个 webpack 配置。让我们介绍一下所提供的配置。

配置文件

  • electron-webpack/webpack.main.config.js (main 进程)
  • electron-webpack/webpack.renderer.config.js (renderer 进程)
  • electron-webpack/webpack.renderer.dll.config.js (Dll 包拆分)

如果您想在内部查看这些配置,您可以轻松地执行以下操作以将它们打印到控制台中。请注意,每个配置都返回一个 Promise

const webpackMain = require('electron-webpack/webpack.main.config.js')
const { inspect } = require('util')

webpackMain().then(config => {
  console.log(inspect(config, {
    showHidden: false,
    depth: null,
    colors: true
  }))
})

添加自定义加载器/插件

假设我们需要在 renderer 进程中支持 *.txt 文件,并想使用 raw-loader 来实现,以下是我们如何设置它的方法。

安装 raw-loader
yarn add -D raw-loader
const webpackRenderer = require('electron-webpack/webpack.renderer.config.js')

module.exports = env => {
  return new Promise((resolve, reject) => {

    /* get provided config */
    webpackRenderer(env).then(rendererConfig => {

      /* add `raw-loader` */
      rendererConfig.module.rules.push({
        test: /\.txt$/,
        use: 'raw-loader'
      })

      /* return modified config to webpack */
      resolve(rendererConfig)
    })
  })
}

现在,有了新的自定义 webpack 配置文件,您可以使用原生的 webpack CLI

webpack --config myCustomWebpack.renderer.config.js