gpt4 book ai didi

javascript - 如何以及何时使用 "ng build"生成的 lib 文件夹的 esm5 和 esm2015 目录?

转载 作者:行者123 更新时间:2023-12-01 15:18:20 24 4
gpt4 key购买 nike

ng build simple-lib 生成的文件夹中,我看到比我的其他节点模块更复杂的结构。我看到的不是导出和导入其他成员的 index.js,而是 bundles , esm2015 , esm5 , 和 public_api.d.ts .

我在 esm5 和 esm2015 文件夹中都看到了 simple-lib 的编译版本。我想知道如何使用 esm .js 文件以及何时使用 esm2015 而不是 esm5。据我了解,esm2015 允许更小的捆绑包和摇树,但我不确定何时选择使用哪个模块。我希望生成一个可以在节点项目中使用的库,并且任何帮助理解是否以及如何实现这一点将不胜感激。谢谢。

$ tree simple-lib/
simple-lib/
├── bundles
│   ├── simple-lib.umd.js
│   ├── simple-lib.umd.js.map
│   ├── simple-lib.umd.min.js
│   └── simple-lib.umd.min.js.map
├── esm2015
│   ├── lib
│   │   ├── simple-lib.component.js
│   │   ├── simple-lib.module.js
│   │   └── simple-lib.service.js
│   ├── public_api.js
│   └── simple-lib.js
├── esm5
│   ├── lib
│   │   ├── simple-lib.component.js
│   │   ├── simple-lib.module.js
│   │   └── simple-lib.service.js
│   ├── public_api.js
│   └── simple-lib.js
├── fesm2015
│   ├── simple-lib.js
│   └── simple-lib.js.map
├── fesm5
│   ├── simple-lib.js
│   └── simple-lib.js.map
├── lib
│   ├── simple-lib.component.d.ts
│   ├── simple-lib.module.d.ts
│   └── simple-lib.service.d.ts
├── package.json
├── public_api.d.ts
├── simple-lib.d.ts
└── simple-lib.metadata.json

最佳答案

在更新我的 Angular 版本时,我想我可能已经找到了答案。将使用的库取决于请求应用程序的浏览器 - esm5 构建将用于需要更多 polyfill 的旧浏览器,而 esm2015 库将用于需要更少 polyfill 的新浏览器

“CLI 的构建命令现在会自动创建一个现代 ES2015 构建,其中包含最少的 polyfill 和兼容旧版浏览器的 ES5 构建,并根据浏览器加载适当的文件。您可以通过将目标设置回 es5 来选择退出此更改您的 tsconfig.json。在 angular.io 上了解更多信息。”

来自 https://update.angular.io/#7.1:9.0

关于javascript - 如何以及何时使用 "ng build"生成的 lib 文件夹的 esm5 和 esm2015 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53884378/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com