Lit-element:如何使用非 esm npm 包?



我来自一个create-react-app/webpack-babel-react world。你们在使用Lit-Element时如何集成第三方非 esm npm 包?

我正在构建一个用 open-wc 折叠的项目。到目前为止,我真的很喜欢它不涉及构建/编译工具,但我正在努力导入我已经习惯的那些 npm 包......

我还在谷歌上搜索了有关如何使用带有 lit-element 的 webpack 的教程,以防万一我真的需要,但我找不到一个像样的。还是我需要使用Polymer库?还是聚合物的pwa-starter-kit

你们怎么看?

如果您选择使用像 Rollup 这样的捆绑器,您可以使用他们的插件来转换 common-js

如果您像我一样,并且通过 ES-module-sims 使用导入映射,则只能使用现代 ESM 代码

当出现仅限 commonJS 的情况时,我会分叉它们,将它们升级到 ESM,启动拉取请求,如果他们不接受它,我会在新的 NPM 包下发布它 — 简单易行

例如,我对NanoID做了这件事,并制作了nanoid-esm..请参阅GitHub对此的评论。

欢呼追👋逐

如果您使用的是使用web-dev-server的open-wc提供的设置,则需要在server.mjs中添加rollup commonjs插件以进行运行,并在rollup.config中添加类似的插件.js用于生产构建

您可以参考有关如何在 web-dev-server 中使用汇总插件的信息 - https://modern-web.dev/guides/dev-server/using-plugins/#commonjs

另一种选择是使用 vitejs 而不是 web-dev-server,后者会自动处理所有这些事情。只要你有索引,它也不需要太多配置.html

最新更新