0

我正在构建一个 Angular 库,该库的客户端需要将其用作 UMD 模块。我需要使用一些库,例如date-fns。在构建库时,它会引发以下警告:

Bundling to UMD
WARNING: No name was provided for external module 'date-fns/locale' in output.globals – guessing 'locale'
WARNING: No name was provided for external module 'date-fns' in output.globals – guessing 'dateFns'
WARNING: No name was provided for external module 'date-fns-tz' in output.globals – guessing 'dateFnsTz'

我正在使用ng-packagr来捆绑库,并且具有 UMD 模块的库可以在 ng-package.json 文件中固定外部名称,如下所示:

{
...
  "lib": {
    "umdModuleIds": {
      "ngx-mask": "ngx-mask",
      ...
    },
...

ng-packagr创建一个 UMD 模块文件,该文件内部期望dateFns在全局范围 ( global.dateFns) 中找到 a 。问题是该date-fns库没有为客户端可以使用的当前版本提供 UMD 模块。有没有办法date-fns在 UMD 包中提供必要的代码(最好的选择是利用 tree-shacking 功能,但如果没有,包括所有date-fns代码也是一个选项)?或者客户端在使用我的库 UMD 时可以做的任何解决方法?

4

0 回答 0