WebpackBundleAnalyzer
前(cjs):
NODE_MODULES与主捆绑在一起的node_modules约为6 Mb,共同FE只是一个块,其重量为64 kb。
但在并行我可以看到:ts-luxon加载了UMD和CJS,RXJS和 @AWS-SDK/Client-Dynamodb,Firebase,mylogger
(ESM):与主捆绑在一起
app.js
因此,我了解到的是,至少现在这些依赖项与common-fe相关,这很好。现在,TS-Luxon只使用UMD(谁知道原因,但这不是问题,因为我也将其转换为ESM以完全避免问题)。 不好的是拥有@AWS和RXJ,在App-Fe中没有使用。到目前为止,我尝试使用的是使用命名的顶级出口,所以我从此
node_modules
:
:app.js
to to to:
index.ts
circulardentyplugin以检查是否有圆形依赖性,但没有。 确实有帮助的是完全删除了Kikdynamoservice。
export const VERSION = "__BUILD_VRS__" as const; // REPLACED WITH WEBPACK
export * from "./shared/api";
export * from "./shared/common";
export * from "./shared/giftcard";
export * from "./shared/marketing-cloud";
export * from "./shared/utils";
export * from "./shared/user";
export * from "./services";
我获得了按我打算的方式来工作。
这一点我缺少的是如何使用WebPack产生此类输出并仍然利用其他插件:Terser,Circulardentencies等。
我仍然需要对此进行测试,因为目前我正在为测试建立额外的CJ(玩笑是屁股的另一个痛苦,但可能有了新的输出,它可能正常工作)...so知道WebPack检查至少循环依赖项。
也许我可以返回越野,我从一开始就使用了……这应该能够编译和缩小我打算的方式...
WebPack无法完成您想做的事情。 这是因为WebPack旨在捆绑Web应用程序。
因此,尽管您可能会手动分开模块的运气(例如,您是在谈论KikdyNamoservice:如果您删除所有参考文献并将其自行置于WebPack配置中的条目),那么您可能会更好地更改运气。 SO汇总是一种选择,但是您可能需要探索Esbuild,这是更快的速度,可以进行转换,降低和缩小。 幸运的好友