Angular 6未能使用Javascript代码编译,但使用update进行编译

Angular 6未能使用Javascript代码编译,但使用update进行编译,javascript,angular,typescript,Javascript,Angular,Typescript,对不起,标题太粗糙了。在标题中没有简明的方式来解释这一点 发生的事情如下:我在Typescript Angular 6应用程序中编写javascript代码 let dropdown = document.getElementById("filter-selection"); selectedFilter = dropdown.options[dropdown.selectedIndex].value; 语法高亮显示了这一点,并将其标记为错误。我运行了ngserve,由于使用了javascri

对不起,标题太粗糙了。在标题中没有简明的方式来解释这一点

发生的事情如下:我在Typescript Angular 6应用程序中编写javascript代码

let dropdown = document.getElementById("filter-selection");
selectedFilter = dropdown.options[dropdown.selectedIndex].value;
语法高亮显示了这一点,并将其标记为错误。我运行了
ngserve
,由于使用了javascript HTMLElement,导致编译失败

如果我将代码替换为以下内容:

// let dropdown = document.getElementById("filter-selection");
selectedFilter = 'testing'; // dropdown.options[dropdown.selectedIndex].value;
代码(显然)编译得很好。现在,这里是事情变得有趣的地方。。。如果我让ng serve启动并运行,将代码编辑回其原始状态并保存文件,我会记录相同的错误,但应用程序编译成功并且运行时没有任何问题

有人能解释一下吗?还有人见过这种行为吗


编辑:无论是否使用
--prod
标志,此行为都会持续存在。

如果CLI为您的文件提供了一次服务,并且您编辑这些文件以获取错误,而不是为您的新文件提供服务,它将为以前的文件提供服务(如果错误没有影响构建,如本次)。如果您尚未提供服务,这是不可能的,因为您没有以前版本的编译文件。您是否也要解决错误,或者您的问题只是为什么错误在某些情况下没有阻止您的生成?它没有提供新文件,编辑后的代码通过并在保存后更改页面。@trichetriche我能够自己解决错误,我只是想知道这个问题上的angular cli行为。我刚刚再次测试了这个问题,当我在原始问题中显示的两个更改之间保存时,源代码会更新。