Karma.config:Sass波浪号导入器

时间:2018-09-18 08:28:14

标签: angular sass karma-jasmine karma-runner

我通过angular-cli设置了一个角度为6的项目。

我安装了karma-scss-preprocessor作为开发依赖项,以便在业力测试中加载sass文件。 跟随karma.config:

...
config.set({
basePath: '',
browserNoActivityTimeout: 60000,
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
  require('karma-jasmine'),
  require('karma-chrome-launcher'),
  require('karma-phantomjs-launcher'),
  require('karma-jasmine-html-reporter'),
  require('karma-coverage-istanbul-reporter'),
  require('@angular-devkit/build-angular/plugins/karma'),
  require('karma-scss-preprocessor')
],
preprocessors: {
  'styles.scss': ['scss'],
},
files: [
  { pattern: 'styles.scss', watched: true,  included: true, served: true }
],
...

现在我得到了错误:

File to import not found or unreadable: ~@onepackage/onelib/scss/all.

由于在styles.scss中导入onepackage / lib时出现波浪号。

我尝试在karma.json的插件部分添加require('node-sass-tilde-importer'),但无法解决。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您必须在require('node-sass-tilde-importer')个选项中调用karma-scss-preprocessor

...
plugins: [
  require('karma-jasmine'),
  require('karma-chrome-launcher'),
  require('karma-phantomjs-launcher'),
  require('karma-jasmine-html-reporter'),
  require('karma-coverage-istanbul-reporter'),
  require('@angular-devkit/build-angular/plugins/karma'),
  require('karma-scss-preprocessor')
],
scssPreprocessor: {
  options: {
    importer: require('node-sass-tilde-importer')
  }
},
...