web-dev-qa-db-ja.com

Angular 7 "文字列の配列であることが期待される「スタイル」"

サーバーを実行して、app.component.htmlをlocalhost:8000にロードしようとしています。代わりに、私はこのエラーを受け取ります

compiler.js:7992キャッチされないエラー: 'styles'は文字列の配列である必要があります。 > CompileMetadataResolver.Push ../ node_modules/@angular/compiler/fesm5/compiler.j> s.CompileMetadataResolver.getNonNormalizedDirectiveMetadata >>(compiler.js:17325)at> CompileMetadataResolver.PushのassertArrayOfStrings(compiler.js:7992)で./node_modules/@angular/compiler/fesm5/compiler.j>s.CompileMetadataResolver._getEntryComponentMetadata(compiler.js:17970)at compiler.js:17630 at 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(コンパイラ.js:24899)>> JitCompiler.Push ../ node_modules/@angular/compiler/fesm5/compiler.js.JitCompile> r._compileModuleAndComponents(compiler.js:24880)at> JitCompiler.Push ../ node_modules/@ angular /compiler/fesm5/compiler.js.JitCompile>r.compileModuleAsync(compiler.js:24840)at CompilerImpl.Push ../ node_modules/@ angular/platform-b​​rowser-> dynamic/fesm 5/platform-b​​rowser-dynamic.js.CompilerImpl.compileModuleAsync >>(platform-b​​rowser-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の読み込みがブロックされます

13
wubalubadub

webpack.config.jsのscssローダーを変更すると、修正されました。次のようになります。

{
  test: /\.scss$/,
  exclude: [/node_modules/, /\.global\.scss$/],
  use: ["to-string-loader", "css-loader", "sass-loader"]
}

そしてjsonパッケージ:

"to-string-loader": "^1.1.6",
"css-loader": "^3.4.2",
"sass-loader": "^8.0.2"
0
mariq vlahova