生成Angular应用后出现“未捕获的SyntaxError:严格模式代码可能不包含with语句”错误

时间:2019-06-23 09:47:59

标签: angular

我已经使用Angular和Material构建了一个应用程序,在为该应用程序提供服务时一切正常,但是在构建并在本地主机上使用LiveServer为该应用程序提供服务并尝试使用Chrome浏览器后,它抛出了以下错误

  

未捕获的SyntaxError:严格模式代码可能不包含with语句

我尝试将其与其他服务器一起使用,结果是相同的,然后我使用Edge浏览了它,并抛出了此错误:

  

SCRIPT5022:SCRIPT5022:在严格模式下不允许使用“ with”语句

我知道什么是“ with”,它已被弃用,不能与严格模式一起使用,但是在已弃用的情况下,Angular(或Webpack)可能会使用“ with”吗?如果我的任何假设有误,请纠正我。

2 个答案:

答案 0 :(得分:0)

正如我在评论中写道的那样,它与我的一个软件包有关,在我的案例中,它与html-docx-js相关。

我解压缩它,构建该应用程序,并且它正常工作。

要找出导致该问题的软件包,请查看JS代码中“ with”函数存在问题的JS代码,并尝试猜测是哪个软件包。 (很可能是一个旧的,不受支持的软件包)。

祝你好运。

答案 1 :(得分:0)

在将我的项目升级到 Angular 9.x 后,我开始看到这个错误,这就是让我开始运行的原因。 转到 src\main.ts 并评论/删除以下行

export { renderModule, renderModuleFactory } from '@angular/platform-server';

应该可以。