我已经使用Angular和Material构建了一个应用程序,在为该应用程序提供服务时一切正常,但是在构建并在本地主机上使用LiveServer为该应用程序提供服务并尝试使用Chrome浏览器后,它抛出了以下错误>
未捕获的SyntaxError:严格模式代码可能不包含with语句
我尝试将其与其他服务器一起使用,结果是相同的,然后我使用Edge浏览了它,并抛出了此错误:
SCRIPT5022:SCRIPT5022:在严格模式下不允许使用“ with”语句
我知道什么是“ with”,它已被弃用,不能与严格模式一起使用,但是在已弃用的情况下,Angular(或Webpack)可能会使用“ with”吗?如果我的任何假设有误,请纠正我。
答案 0 :(得分:0)
正如我在评论中写道的那样,它与我的一个软件包有关,在我的案例中,它与html-docx-js相关。
我解压缩它,构建该应用程序,并且它正常工作。
要找出导致该问题的软件包,请查看JS代码中“ with”函数存在问题的JS代码,并尝试猜测是哪个软件包。 (很可能是一个旧的,不受支持的软件包)。
祝你好运。
答案 1 :(得分:0)
在将我的项目升级到 Angular 9.x 后,我开始看到这个错误,这就是让我开始运行的原因。
转到 src\main.ts
并评论/删除以下行
export { renderModule, renderModuleFactory } from '@angular/platform-server';
应该可以。