typescript - 如何将 Next.js 中的共享组件提取到 npm 模块中?
问题描述
我有一个 Next.js 应用程序,它不仅有页面,还有一些组件。这些组件是用 TypeScript 编写的(所以我们实际上是在.tsx
这里讨论),它们使用CSS 模块,使用 Next.js 的*.module.css
模式——或者更准确地说,它们使用CSS 模块和 Next.js 的 SASS 支持,所以我们'在这里再谈*.module.sass
。到目前为止,一切正常。
现在我想创建第二个 Next.js 应用程序,我需要两个应用程序中的一些组件。当然,我可以复制/粘贴它们,但由于显而易见的原因,这是一个坏主意。我想做的是将共享组件提取到它们自己的 npm 模块中,并在两个应用程序中使用它。现在这是棘手的部分。
我不想预编译共享代码,以允许各自的 Next.js 应用程序对应用程序代码和UI 库代码进行编译,但我不知道如何完成。当然,设置一个只包含普通文件*.tsx
和*.module.sass
文件的 npm 模块很容易,但是如何让最终的 Next.js 应用程序也编译它们呢?
AFAICS Next.js 仅编译包含在应用程序本身中的组件和样式,而不是那些在通过 npm 安装的模块中定义的组件和样式。有什么办法可以启用它吗?
PS:我知道next-transpile-modules模块,但如果有的话,我更喜欢更“官方”的方法......</p>
解决方案
推荐阅读
- c# - C#设置下拉列表默认值
- javascript - 获取两个日期之间的总在线时间
- android - 抑制 Kotlin 中的所有弃用问题
- apache-kafka - Syslog 连接器 - CEF 源
- python - 为什么 GET 请求在 Flask 应用程序 Python 中运行两次?
- c# - Telegram Bot GetUpdates 生成异常
- javascript - 如何使用 JavaScript 添加 Ease-in-out 效果
- npm - 在 WSL 上安装包时出现 EACCESS 错误
- gitlab-ci-runner - Gitlab pipeline 的默认服务账号没有权限列出 kubernetes 集群上的服务
- javascript - 如何在 React webapp 中嵌入文字处理器?