Karma.config: импортер sass тильды - PullRequest
0 голосов
/ 18 сентября 2018

Я настроил проект angular 6 с помощью angular-cli.

Я установил karma-scss-preprocessor как зависимость dev для загрузки файла 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.

из-за тильды при импорте onepackage / lib в styles.scss.

Я пытался добавить require('node-sass-tilde-importer') в разделе плагинов karma.json, но это не помогло.

Есть предложения?

1 Ответ

0 голосов
/ 11 декабря 2018

Вы должны позвонить 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')
  }
},
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...