使用webpack样式加载器绑定的包与SSR不兼容,因此无法导入Next.js
所以我有一个monorepo设置,就像这样使用webpack样式加载器绑定的包与SSR不兼容,因此无法导入Next.js,webpack,sass,webpack-style-loader,next.js,server-side-rendering,Webpack,Sass,Webpack Style Loader,Next.js,Server Side Rendering,所以我有一个monorepo设置,就像这样 apps/ app1 app2 app3 packages/ components/ component1 component2 其中应用程序都在运行next.js应用程序,组件包发布在npm私有注册表上,并通过webpack捆绑 我的问题是,我只能将组件包导入到componentDidMount中的下一个应用程序,即客户端。尝试导入服务器端的组件会导致“未定义窗口”错误,该错误源于样式加载器网页包加载器
apps/
app1
app2
app3
packages/
components/
component1
component2
其中应用程序都在运行next.js应用程序,组件包发布在npm私有注册表上,并通过webpack捆绑
我的问题是,我只能将组件包导入到componentDidMount中的下一个应用程序,即客户端。尝试导入服务器端的组件会导致“未定义窗口”错误,该错误源于样式加载器网页包加载器
因此,当我删除任何sass导入和样式加载器时,我可以成功导入包,但是很明显,我不能在组件中包含任何sass,这是一个问题
有人知道我如何将软件包与sass捆绑,然后成功地将其导入服务器端到下一个应用程序中吗?我最终解决了这个问题 我不得不使用extract css chunks插件构建我的组件包,以保持css与js的分离,从而消除了对样式加载器的需要,并在节点模块中留下main.css(除了index.js) 然后,我可以毫无问题地导入服务器端的组件,只需将package_name/dist/中的main.css文件作为我的应用程序的static/style.css的一部分,以提供它们的样式