欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-17 16:09:28
...

日常写bug

今天调试node工程的时候遇到这样的问题,
就是在一个自定义模块中的定义了全局变量url,一个字符串
大概位置在这里
node.js模块全局变量何时初始化

在该模块暴露出的接口我对url进行字符串的拼接,
node.js模块全局变量何时初始化

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

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

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

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

解决方法:

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

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

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