预期的风格'成为一个字符串数组。 Angular2

时间:2017-05-29 11:46:10

标签: angular

我收到了这样的错误

  

未捕捉的错误:期待的'样式'是一个字符串数组。

这是我的代码

styleUrls:[
    "../../styles/login.component.styles.scss"
],

当我以相同的方式声明它们时,但是带有样式的文件与组件存在于同一目录中,不会发生问题。

1 个答案:

答案 0 :(得分:3)

filed an issue为此,被分为workaround 2: non-obviouspriority: 2 (required)severity 3: broken

在将现有的角度 beta-6 应用程序移植到angular-cli 1.2.6时,我正在努力解决类似问题。我们始终使用SCSS。

警告:我不知道我需要进行的修改(概述如下)是来自我们遗留架构的工件,是框架的限制,还是其他的,但是它们适用于我

经过多次调试并尝试各种来源的建议后,我发现一些webpack魔法导致编译的CSS由@Component的{​​{1}} 中的文件引用产生,该文件也在< / em> styleUrl[]的{​​{1}}数组将被解释为.angular-cli.json。预期输出是已编译的SCSS文件的字符串表示形式,即CSS。

这会导致styles[] {} angular-compiler来电assertArrayOfStrings(),只有throw

我必须对我的应用程序进行以下更改才能使其正常工作:

  1. 必须将Expected '" + identifier + "' to be an array of strings. app.component数组的全局样式表引用移至styleUrls[]的{​​{1}}数组。
  2. .angular-cli.json的{​​{1}}数组应为空。
  3. app[0].styles[]的{​​{1}}元装饰器可以删除。
  4. app.component的{​​{1}}数组中引用的样式表不得在任何组件的styleUrls[]装饰器中引用。