【发布时间】:2018-07-26 17:22:02
【问题描述】:
我希望 karma 完全忽略/不在乎/完全忘记样式文件。
我的 webpack 配置中有以下内容,这导致 webpack 在构建期间不导入文件。
plugins: [
new webpack.IgnorePlugin(/\.(less|scss)$/), // ignore styles when running specs
new webpack.IgnorePlugin(/client\/utils/), // ignore polyfills
],
但是,当 Karma 运行时,它会尝试执行导入,这当然会失败:
Uncaught Error: Cannot find module "./view.scss"
我尝试在我的业力配置中添加非常多的排除排列
exclude: [
{
pattern: '**/*.less',
type: 'module',
},
{
pattern: '**/*.scss',
type: 'module',
},
]
我尝试了ignore-styles(它会抛出一个开箱即用的错误)。
我只是希望它跳过样式文件,因为它们与测试无关,只是浪费时间构建。我不明白这怎么这么难。
失败的示例项目
https://github.com/JakobJingleheimer/fetch-mock-test (抱歉,npm install 可能有一些额外的包)。
当你运行测试时,你应该得到以下错误:
Uncaught Error: Cannot find module "./test.scss" at webpack:///…/src/client/TestComponent.jsx:3:0
【问题讨论】:
-
你在使用 css 模块吗?
-
不,我使用的是 scss(还有语义 ui-less)
import './view.scss';(在 SomeView.jsx 中) -
你有专门的
webpack.config文件来记录因果报应吗?如果是这样,您可以配置为使用null-loader处理*.scss文件 -
是的,我有一个
webpack.config.test和webpack.config.coverage(它们都导出了一个只包含上面显示的plugins的对象)。你在找什么?
标签: webpack karma-runner karma-mocha webpack-3