为什么要在 electron 中使用 webpack

why use webpack with electron

我正在试验电子。我看到很多使用 webpack 的例子。

但为什么要使用 webpack 之类的东西呢?因为据我所知电子支持 require('module')

electron中使用的不是webpack。 require 函数是 node.js 的一部分,它是 electron 的基础。

node.js 文档中有关模块的更多信息: https://nodejs.org/dist/latest-v5.x/docs/api/modules.html

但只要 webpack 也可用作节点模块 (https://www.npmjs.com/package/webpack),也可以将 webpack 与电子一起使用。此时,您还可以在生产中即时使用构建,因为节点和 chrome 在一个应用程序中可用。

为什么要在electron中使用webpack? 当您使用 React 或 vue.js 组件时,将组件分开可能是个好主意。要将您的代码捆绑到一个应用程序中,您需要 browserfy 或 webpack。那将是一个很好的理由,为什么要使用它。

没有理由在 Electron 中使用 Webpack,查看 electron-compile 在 Electron 中使用 Babel 和 LESS。

Webpack 不仅仅是一个 JS 模块打包器;它可用于捆绑静态资产(例如图像的内联 base64)、编译 Sass/Less/Stylus/CSS-Modules、死代码消除、摇树优化等。使用适当的加载程序和配置,在积极开发时只需要 require('any-type-of-file.extension')。然而,根据我个人的经验,Webpack 的价值不仅仅在于它的开发服务器和热模块替换 (HMR),这让 Live Reload 感觉像是黑暗时代的东西。

总而言之,您可以获得 Gulp/Browserify/Rollup 的所有组合功能,但在顶部有 HMR,所有这些都在一个工具中(还有很多很多很多加载器;)。

毫无疑问,设置 Webpack 是一个 PITA,但如果你计划在 Electron 应用程序上工作很长时间,仅从 HMR 中节省的时间就非常值得。

开始获取的好文档https://webpack.electron.build/

  • -使用webpack进行源码打包

    -使用webpack-dev-server进行开发

    -渲染器和主进程的 HMR

    -根据你的electron版本自动配置的@babel/preset-env的使用

    -能够添加自定义 webpack 加载器、插件等

    -支持 TypeScript、Less、EJS 等项的附加组件