Angular的IP地址实用程序库

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

我正在Angular应用程序中使用NPM模块iphttps://www.npmjs.com/package/ip)进行IP地址的解析/比较。一切工作正常,但是当我尝试使用ng build --prod --aot构建用于生产的应用程序时,编译器抱怨以下错误:

ERROR in ./node_modules/ip/lib/ip.js Module not found: 
Error: Can't resolve 'os' in '/home/fel/Documentos/proyectos/IPGes/node_modules/ip/lib

似乎出现错误是因为它试图使用模块os,该模块仅在node.js环境中可用,而在浏览器中不可用。

有人知道是否有变通办法可以在Angular编译应用程序中使用ip npm模块吗?

谢谢,

javascript angular
1个回答
2
投票

ip库是NodeJs特定的库,因为它依赖于os。在某些情况下,使用browserfy可以使您的节点程序包在浏览器中运行,这可能会有些运气。但是,我认为它不适用于此。

我建议将此逻辑移至您的服务器。如果您使用的是节点,则只需在其中添加包,然后在API端点处显示IP地址即可。您可以按照自己的意愿使用该库。

在Dev中运行时在本地运行的唯一原因是Angular此时正在运行节点服务器。将所有内容捆绑在一起后,就只有一堆捆绑的HTML和JS。

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