从业力中排除scss文件

jac*_*cob 5 karma-runner karma-mocha webpack webpack-3

我希望业力完全忽略/不关心/完全忘记样式文件.

我的webpack配置中有以下内容,这会导致webpack在构建期间不导入文件.

plugins: [
    new webpack.IgnorePlugin(/\.(less|scss)$/), // ignore styles when running specs
    new webpack.IgnorePlugin(/client\/utils/), // ignore polyfills
],
Run Code Online (Sandbox Code Playgroud)

但是,当Karma运行时,它会尝试执行导入,这当然会失败:

Uncaught Error: Cannot find module "./view.scss"

我已经尝试在我的业力配置中添加几乎非常排斥的排列

exclude: [
    {
        pattern: '**/*.less',
        type: 'module',
    },
    {
        pattern: '**/*.scss',
        type: 'module',
    },
]
Run Code Online (Sandbox Code Playgroud)

我尝试了忽略样式(抛出一个错误的开箱即用).

我只是想让它跳过样式文件,因为它们与测试无关,只是浪费时间构建.我不明白这是多么困难.

失败的示例项目

https://github.com/jshado1/fetch-mock-test (对不起,npm install可能有一些额外的包).

运行测试时,您应该收到以下错误:

Uncaught Error: Cannot find module "./test.scss" at webpack:///…/src/client/TestComponent.jsx:3:0
Run Code Online (Sandbox Code Playgroud)

fel*_*osh 6

您可以配置webpack.config传递给的文件karma-webpacknull-loader用作*.scss文件加载器.

像这样的东西:

module: {
    rules: [
      {
        test: /\.scss/,
        use: 'null-loader'
      }
    ]
  }
Run Code Online (Sandbox Code Playgroud)