node.js模块全局变量何时初始化

日常写bug

今天调试node工程的时候遇到这样的问题,
就是在一个自定义模块中的定义了全局变量url,一个字符串
大概位置在这里
这里写图片描述

在该模块暴露出的接口我对url进行字符串的拼接,
这里写图片描述

发现接口每次被调用都会在之前的基础上加一个ip,最初这个模块是用来查询客户端的ip归属地的,但是这样一来每次的url都会在之前的基础上变长,就没有办法进行了。

调了半天才发现这个url在启动服务器是就进行了初始化,之后不再进行

var url ='http://ip.chinaz.com/';

所以该字符串就越来越长,以至于只能用一次,后来的就会出错。

解决方法:

这里写图片描述

将赋值语句放入函数体内部。

通过这个尝试,也理解了nodejs的模块加载是的变量初始化问题,即只加载一次。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值