【问题标题】:How to minify typescript source code in electron app using electron-forge and electron-packager?如何使用电子锻造和电子打包器缩小电子应用程序中的打字稿源代码?
【发布时间】:2020-01-28 22:08:13
【问题描述】:

编辑: 我通过使用 electron-builder 解决了这个问题,它在后台使用 webpack,因此默认情况下所有问题都得到了很好的处理。我最初使用电子锻造和电子包装器时发布了这个问题,虽然我搜索了几个资源,但我仍然无法理解电子锻造/电子包装器/电子制造商之间的区别????

原始问题:

我使用 react 和 typescript 使用 electron-forge 构建了一个电子应用程序,但我发现它包含我的整个 typescript 源代码。

经过一番挖掘,似乎没有办法摆脱源头,甚至asar也可以轻松提取。缩小源代码可能是防止他人复制和粘贴我的项目的最“正确”方式。我想也许我可以通过使用 electron-packager 提供的afterCopy 钩子来实现这一点,但不知道我应该怎么做,有什么建议吗?

【问题讨论】:

  • 为什么不在构建应用程序之前使用UglifyJs 之类的东西,然后使用丑陋的 js 文件进行构建?您可以在 npm 脚本中链接 cmets。
  • @Mattstir 我不记得确切,但我认为这就是我的意思,只是不知道怎么做。我最终转向使用electron-builder 来构建我的应用程序,所有这些“缩小”和“包含 ts 源”问题都默认处理。

标签: typescript electron electron-packager electron-forge


【解决方案1】:

您可以使用bytenode 将您的所有 js 文件编译成字节码,人类将无法阅读。但这很hacky。

【讨论】:

    【解决方案2】:

    您不应该在您的生产包中包含您的打字稿源代码。考虑您的 Electron-builder 配置。只需将捆绑的代码导入您的包即可。

    有一些 webpack 插件和各种各样的东西可以丑化你捆绑的 js 文件。

    将此作为构建器配置参考。

    How to deploy an Electron app as an executable or installable in Windows?

    https://www.electron.build/configuration/configuration

    【讨论】:

    • Electron-builder 也是我的解决方案,我在开始使用 electron-packager 时发布了这个问题,它默认将 ts 源包含在 bundle 中,我不知道如何删除它
    猜你喜欢
    • 2019-06-17
    • 2018-03-10
    • 2016-12-10
    • 2020-06-07
    • 1970-01-01
    • 2017-04-19
    • 2017-12-27
    • 2017-07-01
    • 2021-08-19
    相关资源
    最近更新 更多