问题
在使用Storybook时,我正在运行npm run storybook
,并得到下面的错误。
ModuleBuildError: Module build failed (from ./node_modules/style-loader/dist/cjs.js):
TypeError: this.getOptions is not a function
背景/上下文
我的目标是让Storybook能够与sass
一起工作。
设置很简单:我有scss
文件,由组件文件导入。
在寻找实现这一点的方法时,我偶然发现了一个能够做到这一点的 addon,请参见this。
在这样做的过程中,我遇到了我的第一个错误。这是同样的错误,但对于sass-loader
。This堆栈溢出线程帮助我修复了那个错误。
所以,我想总结一下,我试过:
- 随附文档(以上链接)
- 以下沿着堆栈溢出线程(上面链接)
相关的开发依赖项
"@storybook/preset-scss": "^1.0.3",
"css-loader": "^6.2.0",
"sass-loader": "^10.1.1",
"style-loader": "^3.2.1"
提前感谢!
5条答案
按热度按时间e3bfsja21#
解决方案
后退一步之后,我意识到我可以尝试我所做的来修复
sass-loader
问题:正在降级主要版本。步骤
style-loader
1主要版本降级为2.0.0
:npm i style-loader@2.0.0
css-loader
时遇到了同样的问题css-loader
1主要版本降级为5.2.7
:npm i css-loader@5.2.7
摘要
通过将所有的加载程序降级一个主要版本,我能够让它工作。
nfs0ujit2#
我在StoryBook中设置Sass时也遇到了这个问题。自述文件提供的Yarn脚本将安装那些库的最新版本,这些库不再与StoryBook运行的Webpack 4兼容。
对于其他任何人遇到这个问题的故事书,这是你可以运行代替。
bnl4lu3b3#
降级后,在我的情况下,我解决了它只是评论加载器scss和sass:
声明模块“*. module.css”;不影响结果。
记住:始终运行
来测试这些配置更改,看看是否会发生一些事情**。这样做可以保存我今天下午的时间。
jw5wzhpr4#
旧版Webpack不支持最新版本的CSS加载器:
这对我很有效。
odopli945#
我没有使用Storybooks,只是使用TS的Webpack。我所要做的就是运行命令:
yarn add -D css-loader@5.2.6 style-loader@2.0.0
然后,我从我的webpack配置中删除了scss/sass加载程序,并将其设置为:
希望这对大家有帮助。