我的GitHub
0%

无星的electron之旅(十四)—— 裁包之去掉语言文件

一、背景

很久没写bug了,最近写了一些业务上的小工具,因为包有点大,所以要裁一下。

首选其实就是去掉不需要的语言文件

二、如何实现

2.1 添加默认语言

electron的入口文件添加

1
app.commandLine.appendSwitch('lang', 'zh-CN');

2.2 在打包后的钩子处脚本删除

比如我使用的是electron-builder,可以在打包配置文件中找到afterPack这个配置项

配置读取的脚本文件如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//build/hooks/afterPack.js
//参考 https://www.electron.build/configuration/configuration#afterpack
exports.default = async function (context) {
//console.log(context)
const fs = require('fs')
const localeDir = context.appOutDir + '/locales/'

fs.readdir(localeDir, function (err, files) {
if (!(files && files.length)) return
for (let i = 0, len = files.length; i < len; i++) {
const match = files[i].match(/zh-CN\.pak/) //只保留中文
if (match === null) {
fs.unlinkSync(localeDir + files[i])
}
}
})
}

done

参考

electron通过删除未使用的语言文件缩减打包后大小

我是阿星,阿星的阿,阿星的星!