Ошибка при запуске Karma в проекте, преобразованном из CSS в SCSS - PullRequest
0 голосов
/ 08 июня 2019

Я преобразовал проект Angular 7, который изначально был создан с помощью CSS, в SCSS.

Согласно инструкциям в официальной документации, я включил следующее в angular.json

"schematics": {
        "@schematics/angular:component": {
        "styleext": "scss"
        }
      }

и преобразовал весь CSS в SCSS, а также изменил все ссылки на таблицы стилей на SCSS. Приложение загружается нормально и не сталкивалось с какими-либо проблемами до тех пор, пока я не запустил ng test . Я получаю следующую ошибку при запуске Karma

08 06 2019 13:01:18.524:INFO [karma-server]: Karma v4.0.1 server started at http://0.0.0.0:9876/
08 06 2019 13:01:18.525:INFO [launcher]: Launching browsers Chrome with concurrency unlimited
08 06 2019 13:01:18.551:INFO [launcher]: Starting browser ChromeERROR in multi ./node_modules/@angular/material/prebuilt-themes/indigo-pink.css ./src/styles.css
Module not found: Error: Can't resolve 'E:\Workspace\angular\myproject\src\styles.css' in 'E:\Workspace\angular\myproject'
resolve 'E:\Workspace\angular\myproject\src\styles.css' in 'E:\Workspace\angular\myproject'
  using description file: E:\Workspace\angular\myproject\package.json (relative path: .)
    Field 'browser' doesn't contain a valid alias configuration
    using description file: E:\Workspace\angular\myproject\package.json (relative path: ./src/styles.css)
      no extension
        Field 'browser' doesn't contain a valid alias configuration
        E:\Workspace\angular\myproject\src\styles.css doesn't exist
      .ts
        Field 'browser' doesn't contain a valid alias configuration
        E:\Workspace\angular\myproject\src\styles.css.ts doesn't exist
      .tsx
        Field 'browser' doesn't contain a valid alias configuration
        E:\Workspace\angular\myproject\src\styles.css.tsx doesn't exist
      .mjs
        Field 'browser' doesn't contain a valid alias configuration
        E:\Workspace\angular\myproject\src\styles.css.mjs doesn't exist
      .js
        Field 'browser' doesn't contain a valid alias configuration
        E:\Workspace\angular\myproject\src\styles.css.js doesn't exist
      as directory
        E:\Workspace\angular\myproject\src\styles.css doesn't exist
[E:\Workspace\angular\myproject\src\styles.css]
[E:\Workspace\angular\myproject\src\styles.css.ts]
[E:\Workspace\angular\myproject\src\styles.css.tsx]
[E:\Workspace\angular\myproject\src\styles.css.mjs]
[E:\Workspace\angular\myproject\src\styles.css.js]
 @ multi ./node_modules/@angular/material/prebuilt-themes/indigo-pink.css ./src/styles.css styles[1]

Хотя я не совсем понял это сообщение об ошибке. Похоже, Карма все еще видит старые CSS-ссылки.

Любые предложения будут очень полезны! Спасибо!

1 Ответ

0 голосов
/ 08 июня 2019

В вашем angular.json

изменение

"styles": [
      "src/styles.css"
],

до

"styles": [
      "src/styles.scss"
],
...