Angular 11项目集成internal-ip npm包持续报错如何解决
问题描述
- 在Angular 13环境中测试
internal-ipnpm包时功能运行正常,可成功获取正确的IP地址。 - 将该包集成到Angular 11项目中时,程序持续抛出报错,报错信息如下图:

故障原因
internal-ip v7及以上版本为纯ESM格式包,Angular 11配套的构建链路(Angular CLI 11.x + Webpack 4)默认不支持纯ESM依赖的解析加载,Angular 13版本才完成Webpack 5升级、原生支持ESM依赖,因此高版本internal-ip无法在Angular 11环境中正常运行。
解决方法
- 优先选择版本降级方案:安装兼容CommonJS规范的
internal-ip最终稳定版,执行命令:npm i internal-ip@6.2.0 -S
该版本无需额外调整构建配置,安装完成后即可在Angular 11项目中正常调用获取内网IP。 - 若必须使用高版本
internal-ip,可通过自定义构建配置兼容ESM:- 安装
@angular-builders/custom-webpack依赖,替换Angular 11默认的构建器 - 在自定义Webpack配置中,将
internal-ip及其关联的纯ESM依赖加入babel转译列表,配置对应模块解析规则
该方案改动链路长,容易触发其他第三方依赖的兼容问题,非必要不推荐使用。
- 安装
内容的提问来源于stack exchange,提问作者Skkrimon
相关产品推荐
相关产品推荐

