import { isEqual } from 'lodash';
onSave() {
const isFormsEqual = isEqual(
this.loyaltyRewardsFormFacade.currentRewardsState(),
this.loyaltyRewardsFormFacade.transformFormData()
);
this.loyaltyRewardsFacade.onSave(this.loyaltyRewardsFormFacade, isFormsEqual);
}
我的 Angular 项目中遇到错误,导致项目无法加载。
我正在使用带有 Angular 原生模块联合架构的 Nx monorepo。该项目具有微前端结构,包含两个应用程序:一个主 Shell 应用程序和一个远程应用程序。
在远程应用程序的组件之一中,我需要 Lodash 的 isEqual 方法。我安装了以下软件包:“@types/lodash”:“^4.17.13”和“lodash”:“^4.17.21”。我使用 import { isEqual } from 'lodash' 从 Lodash 导入 isEqual ;在组件中并使用 isEqual 方法。最初,它工作正常,但现在,正如您所看到的,我收到一个导致应用程序崩溃的错误,提示“未提供名为“isEqual”的导出”,即使我正确导入了它。
您对可能导致此错误的原因有任何想法吗?我曾多次遇到类似的错误,尤其是在创建新的效果和外观文件时。我最初使用它们没有问题,但在推送新的更改后,尽管正确导出和导入所有内容,我还是会收到“不提供名为的导出”错误。
请随时分享您的想法。
提前致谢!
错误:
错误语法错误:请求的模块“blob:http:// localhost:4200/e878b7c3-c148-4467-99c5-31459e1efa4c”不提供名为“isEqual”的导出(位于routes-WEHG7TSS.js:1:78930)
我尝试删除节点模块并运行 npm i
在最新版本的 Typescript 上(对我来说是
~5.5.0
)。
moduleResolution
属性设置为 bundler
,然后再设置为 node
,才能正确解析某些包,如 lodash
、keycloak-js
等。
{
"compileOnSave": false,
"compilerOptions": {
...
"experimentalDecorators": true,
"moduleResolution": "bundler" /* <- changed here! */,
...