fix: 按 Halo 应用市场审核意见整改外部资源与隐私(v1.2.5 修订)
- 默认零第三方自动请求:移除 21 个模板的 preconnect/dns-prefetch、PrismJS+autoloader、qrcode-generator 及内置一言/IP 定位 API - 一言与代码高亮配色改为自托管;欢迎弹窗自定义 IP 接口改为 opt-in;微信分享改为复制链接;LightGallery 按 GPLv3 使用 - README 新增「外部资源与隐私」「验证与回归测试」章节,修正无效链接并补充字体 OFL 来源;同步 docs 与修正虚构的目录树 - friends 等 12 处 #strings.substring 加空值保护;logo 由两份 1.5MB 压缩去重为单份 146KB - 新增 pnpm audit:external 与打包前置合规审计;制品补齐 34 个 docs 文档与预览图
This commit is contained in:
1 parent
c0ad7331d4
commit
dda86294b0
36 files changed
+830
-236
No files matched your search
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* 构建后置处理:
|
||||
* 1. 复制 logo.png 到 assets(保留历史行为)
|
||||
* 1. 校验主题 logo 存在且只保留一份(public/assets/logo.png → templates/assets/logo.png)
|
||||
* 2. 合并 compat/assets 下的历史版本静态资源,避免站点/代理缓存中的旧 HTML
|
||||
* 仍然引用上一版本的哈希文件名时出现 500(FileNotFoundException)
|
||||
* 3. 校验所有 templates/*.html 引用的静态资源真实存在,缺失即构建失败
|
||||
@@ -16,11 +16,13 @@ const templatesDir = path.join(root, "templates");
|
||||
|
||||
fs.mkdirSync(assetsDir, { recursive: true });
|
||||
|
||||
// 1. logo
|
||||
const logoSrc = path.join(templatesDir, "logo.png");
|
||||
if (fs.existsSync(logoSrc)) {
|
||||
fs.copyFileSync(logoSrc, path.join(assetsDir, "logo.png"));
|
||||
// 1. logo:旧实现把 templates/logo.png 再复制一份到 assets,安装包里会有两份 1.5MB 大图。
|
||||
// 现在源文件统一放在 public/assets/logo.png(256x256 压缩版),这里只做存在性校验。
|
||||
if (!fs.existsSync(path.join(assetsDir, "logo.png"))) {
|
||||
console.error("[postbuild] 未找到 templates/assets/logo.png(public/assets/logo.png 应随构建复制)");
|
||||
process.exit(1);
|
||||
}
|
||||
console.log("[postbuild] logo.png 已去重,仅保留 templates/assets/logo.png");
|
||||
|
||||
// 2. 历史资源合并(已存在的同名文件以当前构建为准,不覆盖)
|
||||
if (fs.existsSync(compatDir)) {
|
||||
|
||||
Reference in new issue
Block a user