【问题标题】:Angular 6 Uncaught Error: Expected 'styles' to be an array of stringsAngular 6 未捕获的错误:预期的“样式”是字符串数组
【发布时间】:2020-01-06 02:50:05
【问题描述】:

我将旧的 Angular 项目迁移到 Angular

运行时项目编译成功,但在控制台中显示以下错误。

未捕获的错误:预期的“样式”是字符串数组。 在 assertArrayOfStrings (compiler.js:2181) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver.getNonNormalizedDirectiveMetadata (compiler.js:10373) 在 CompileMetadataResolver.push../node_modules/@angular/compiler/fesm5/compiler.js.CompileMetadataResolver._getEntryComponentMetadata

Angular.json

"styles": [
    {
    "input": "node_modules/@angular/material/prebuilt-themes/indigo-pink.css"
    },
    "src/styles.css"
],
"scripts": [],

组件.ts

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html',
  styleUrls: ['app.component.scss']
})

我哪里做错了。

【问题讨论】:

  • 您需要将字符串数组传递给样式,并且样式也不支持文件网址。
  • 我用 component.ts 装饰器更新了我的问题

标签: angular


【解决方案1】:

嗯,这正是它在锡上所说的:样式应该是一个字符串数组。而不是

    {
    "input": "node_modules/@angular/material/prebuilt-themes/indigo-pink.css"
    },
    "src/styles.css"

    "node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
    "src/styles.css"

【讨论】:

  • 不,仍然遇到同样的问题。
  • 你重启ng serve了吗?
  • 是的,我还是遇到了同样的问题
  • 您修复了所有styles 条目吗? angular.json中可以有多个
  • 我只有一个 angular.json
【解决方案2】:

在样式数组中,您有一组带有“输入”键的对象,

应该是一个简单的字符串数组

试试这样:

"styles": [
   "node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
   "src/styles.css"
 ],
 "scripts": [],

并在文件名前加上./ incomponent 装饰器,如下所示:

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})

【讨论】:

    猜你喜欢
    • 2018-02-09
    • 2023-04-05
    • 2017-05-21
    • 2019-10-25
    • 2019-06-03
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    相关资源
    最近更新 更多