You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何排除ngx-extended-pdf-viewer的node_modules中指定子文件夹并精简语言列表

解决ngx-extended-pdf-viewer资源复制时排除指定文件夹并精简语言列表的问题

你遇到的问题核心在于Angular的assets配置里,ignore字段的路径是相对于input目录的,不是完整的绝对路径——之前用全路径所以不生效。下面是正确的配置方案,再加上额外的语言精简优化:

一、修正angular.json的资源复制配置

把ignore里的路径改成相对于input的相对路径,同时要匹配文件夹下的所有内容(避免只排除文件夹本身却漏掉内部文件):

{
  "glob": "**/*",
  "input": "node_modules/ngx-extended-pdf-viewer/assets/",
  "ignore": [
    "additional-locale/**/*",
    "inline-locale-files/**/*"
  ],
  "output": "/assets/"
}

配置里的additional-locale/**/*表示跳过input目录下additional-locale文件夹内的所有文件和子文件夹,inline-locale-files/**/*同理。修改后Angular复制资源时就会自动排除这两个目录的内容。

二、进一步精简语言加载(推荐)

除了复制时排除多余文件,你还可以在模块导入阶段明确指定需要的语言,避免框架加载不必要的语言资源,进一步优化项目体积:

在你的根模块(比如app.module.ts)中,用withConfig方法配置语言列表:

import { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';

@NgModule({
  declarations: [/* 你的组件列表 */],
  imports: [
    NgxExtendedPdfViewerModule.withConfig({
      defaultLocale: 'zh-CN', // 设置默认显示的语言
      locales: [
        { code: 'en', label: 'English' },
        { code: 'zh-CN', label: '简体中文' }
        // 只添加你实际需要用到的语言条目
      ]
    })
  ],
  bootstrap: [/* 根组件 */]
})
export class AppModule { }

这样配置后,组件只会加载你指定的语言包,配合前面的资源排除配置,就能最大程度精简语言相关的资源。

验证配置是否生效

修改完成后,你可以运行ng serve启动开发服务器,或者ng build --prod打包生产版本,然后检查对应的assets目录下是否还存在additional-locale和inline-locale-files文件夹——如果没有,就说明配置生效了。

内容的提问来源于stack exchange,提问作者imPK

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 15:52:31