使用Component Decorator的字符串插值失败

时间:2017-11-07 18:07:18

标签: angular typescript angular-cli angular5 angular-webpack

我正在将项目更新到最新的Angular 5版本,经过一些版本调整后,它仍然失败了。 所以我根据当前版本(@ angular / cli 1.5.0,@ angular / * 5.0.0)创建了一个全新的角度项目,并开始寻找问题。

事实证明,在Decorator中使用字符串插值不再被识别。 在外面,例如在console.log-output中,它工作正常。

我在默认生成的AppComponent上尝试了它:

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

const name = 'app';

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

}

结果是一个很大的异常,你可以看到angular试图找到像以下资源:

  

src / ./${name}.component.css。ts不存在

有没有人提示这里出了什么问题和/或我能指出正确的方向吗?

更新: 来自角度社区的response后,对于@ angular / cli / webpack来说,这似乎更像是一个问题。

1 个答案:

答案 0 :(得分:0)

这是因为Typescript编译器只将TS构建为JS。 而不是执行TS。 在编译代码时,编译器不知道任何运行时变量。

您只能在将在运行时执行的代码部分中使用字符串插值。