将Angular 8迁移到Angular 9

问题描述 投票:0回答:2

服务后,我在控制台中出现错误。我该如何解决?

ERROR in ./node_modules/resolve/lib/sync.js
Module not found: Error: Can't resolve 'fs' in 'project-path\node_modules\resolve\lib'
ERROR in ./node_modules/resolve/lib/async.js
Module not found: Error: Can't resolve 'fs' in 'project-path\node_modules\resolve\lib'
ERROR in ./node_modules/tslint/lib/utils.js
Module not found: Error: Can't resolve 'fs' in 'project-path\node_modules\tslint\lib'
angular migrate angular9
2个回答
0
投票
第一步:您必须进行适当的备份并按照以下步骤操作

remove node_modules remove package-lock.json npm cache clean -f

((可选)如果已经完成上述操作,请重新启动计算机。并再次启动节点和角度。

第二:将以下内容添加到karma.conf.js

webpack: { node: { fs: 'empty', } }


0
投票
如果使用的是Angular Universal

您必须提供2个不同版本的文件,它们在代码中使用fs作为2个服务提供者,一个在服务器模块中带有fs,另一个在不带fs的情况下。

如果没有太大意义,请在此处查看解决方案详细信息:https://github.com/ngx-translate/core/issues/754#issuecomment-353616515

看来此问题不是特定于Angular 9的。在此处查看Angular早期版本中的问题示例和解决方案:Update to Angular v6 - Module not found: Error: Can't resolve 'fs'

如果不使用Angular Universal,则>

您的一个依赖项可能有问题。在这种情况下,您可以尝试告诉Webpack(Angular在后台使用)在浏览器环境(非Node)中忽略fs

此问题的示例和解决方案的详细信息可以在这里找到:https://stackoverflow.com/a/52367183/146656

© www.soinside.com 2019 - 2024. All rights reserved.