配置参考
唯一必需的配置是包含至少一个 path
的 files
数组。 myconfig.js
js
const bundlewatchConfig = {
files: [
{
path: "./myfolder/*.js",
maxSize: "100kb",
compression: "none",
},
],
normalizeFilenames: /^.+?(\..+?)\.\w+$/,
bundlewatchServiceHost: "https://service.bundlewatch.io", // 可以是自定义服务
ci: {
githubAccessToken: ciEnv.githubAccessToken,
repoOwner: ciEnv.repoOwner,
repoName: ciEnv.repoName,
repoCurrentBranch: ciEnv.repoCurrentBranch,
repoBranchBase: ciEnv.repoBranchBase || "master", // PR 合并到的分支
commitSha: ciEnv.commitSha,
trackBranches: ["master", "develop"],
},
defaultCompression: "gzip",
};
module.exports = bundlewatchConfig;
files
数组中的每个 file
如下所示
js
{
path: './myfolder/*.js', // 必填
maxSize: '100kb',
compression: 'none',
}
path
是单个文件或一组文件的 glob。 maxSize
是可选的,默认为 Infinity,建议设置为最大体积的字符串,例如 '100KB'。 compression
是可选的,默认为 gzip
。该字符串必须是 gzip
、brotli
或 none
之一。
normalizeFilenames
用于移除文件名中的部分内容,例如你的文件名包含类似 main.abc134.js
的 hash。
接受一个 RegExp
或可被解析为 RegExp 的 string
。正则表达式捕获组匹配到的内容会被移除。
示例:
Hash 移除器: 查找点与扩展名之间的字符并将其移除。
正则表达式: /^.+?(\..+?)\.\w+$/
字符串: "^.+?(\\..+?)\\.\\w+$"
ci
该对象用于启用 bundlewatch 的核心功能。
js
{
githubAccessToken: ciEnv.githubAccessToken,
repoOwner: ciEnv.repoOwner,
repoName: ciEnv.repoName,
repoCurrentBranch: ciEnv.repoCurrentBranch,
repoBranchBase: ciEnv.repoBranchBase || 'master', // PR 合并到的分支
commitSha: ciEnv.commitSha,
trackBranches: ['master', 'develop'],
}
bundlewatchServiceHost
如果你希望使用自定义服务器,可以修改此项。