首页 > 解决方案 > 使用使用 nwb 创建的模块时,CSS 模块不会在 NextJS 中导入

问题描述

我创建了一个 React 组件并将其上传到一个私有 git 存储库。这是一个相当简单的组件,它呈现可以排序的数据表等。我曾经nwb用于设置/构建过程(https://github.com/insin/nwb)。

它没有在 npm 上发布,所以当我想在项目中使用它时,我会通过npm install --save git+ssh://git@github.com/Me/myRepo.git. 这一切在正常的 React 项目中都可以正常工作。

不幸的是,在NextJS我正在处理的网站上,NextJS不会编译,并且给出错误CSS Modules cannot be imported from within node_modules并将我链接到https://nextjs.org/docs/messages/css-modules-npm

该页面表明我可能不小心使用了包的源文件——但我没有。当我查看我/node_modules/myComponent/的文件夹时,有一个/lib/包含已编译源的文件夹。但是,样式仍然在单独的文件中,并像您通常所做的那样包含在编译的源代码中 ( var _defaultModule = _interopRequireDefault(require("./styles/default.module.scss"));)。

我在网上做了一些搜索,似乎“快速简单”的解决方案是使用https://github.com/martpie/next-transpile-modules

不过,我更愿意通过修复我的 repo 来解决这个问题,这样当我将它安装在一个项目上(无论是NextJS什么)时,我都能得到NextJS想要的任何东西。

所以我的各种问题是:

  1. 有没有办法设置我的回购所以NextJS对它感到满意?
  2. 不是nwb制作 React 组件的首选方式吗?我应该使用其他过程吗?我的任何其他组件都没有这个问题,所以这似乎是我对我的回购做错了。

标签: reactjsgitnext.jsnwb

解决方案


推荐阅读