Angular 7 "ожидаемые стили должны быть массивом строк" - PullRequest
0 голосов
/ 08 января 2019

Я пытаюсь запустить свой сервер, и мой app.component.html загружается на локальный хост: 8000. Вместо этого я получаю эту ошибку

compiler.js: 7992 Uncaught Ошибка: ожидаемые стили должны быть массивом строк. в assertArrayOfStrings (compiler.js: 7992) at> CompileMetadataResolver.push ../ node_modules/@angular/compiler/fesm5/compiler.j> s.CompileMetadataResolver.getNonNormalizedDirectiveMetadata >> (compiler.js: 17325) at> CompileMetadataResolver.push ../ node_modules/@angular/compiler/fesm5/compiler.j> s.CompileMetadataResolver._getEntryComponentMetadata (compiler.js: 17970) на compiler.js: 17630 в Array.map () at> CompileMetadataResolver.push ../ node_modules/@angular/compiler/fesm5/compiler.j> s.CompileMetadataResolver.getNgModuleMetadata (compiler.js: 17630) at> JitCompiler.push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompile> r._loadModules (compiler.js: 24899) at> JitCompiler.push ../ at> JitCompiler.push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompile> r.compileModuleAsync (compiler.js: 24840) в CompilerImpl.push ../ node_modules / @ angular / platform-browser-> dynamic / fesm5 / platform-browser-dynamic.js.CompilerImpl.compileModuleAsync >> (platform-browser-dynamic.js: 143)

Я попытался возиться с синтаксисом и проверил мой файл angular.json.

import { Component } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'public';
}

Есть идеи, как это решить? Это мешает мне загружать мой Google

Ответы [ 5 ]

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

У меня была та же ошибка консоли, я потратил несколько дней, читая каждый хит в Google ...

Решено!

История: Мне пришлось добавить функциональность в существующий проект Angular. Когда я выполнил git clone, ng serve, открыл браузер -> error assert ....

Я решил обновиться до Angular 8 и посмотреть, исчезнет ли проблема, но это не так. В конце концов я создал новое приложение Angular 8, используя «ng new ...»

Сравнил package.json и angular.json как существующего, так и нового проекта. Я обнаружил, что в новом приложении Angular нет пакетов loader в package.json, в то время как у существующих уже есть. Также в существующем проекте была указана веб-упаковка devDependancy, я удалил все загрузчики, а веб-пакет, удалил package-lock.json и папку node_modules -> npm install.

решаемая. Я предполагаю, что есть некоторый фрагмент кода, который был перенесен на конкретную версию, что противоречит тому, что действительно нужно Angular.

0 голосов
/ 19 апреля 2019

В моем случае это произошло потому, что в проекте с несколькими репо во время сборки Angular использовался неправильный загрузчик (raw-loader@2), поэтому мне пришлось добавить правильный загрузчик в зависимости проекта Angular:

devDependencies: {
    ...
    raw-loader: "^1.0.0"
}
0 голосов
/ 13 января 2019

Таблицы стилей, на которые ссылаются ваши angular.json styles[], не могут быть использованы в декораторе styleUrls[] компонента.

Убедитесь, что вы не ссылаетесь на ./app.component.css в обоих файлах.

0 голосов
/ 01 апреля 2019

Я получил это также в процессе обновления до Angular 7 и обновления различных зависимостей до их последних версий. Я обнаружил, что использование raw-loader версии 2.0.0 вызывало эту ошибку, хотя мой styleUrls имел правильный синтаксис. Переход на raw-loader версии 1.0.0 решил эту проблему. Я не знаю, поможет ли это в вашей ситуации.

0 голосов
/ 09 января 2019

Мне кажется, что вам не хватает квадратных скобок вокруг ссылки на файл styles.scss в файле angular.json.

Это должно выглядеть так:

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