Nodejs 動態加載 require


nodejs的require是保存在緩存中的,即require一次之后再次require值是不會改變的。

如:

a.js

1 var a = 12;
2 exports.a = a;

test.js

1 var aa = require('./a.js');
2 console.log(aa)
3 aa.a = 15;
4 //重新加載還是15
5 var bb = require('./a.js');
6 console.log(bb);

執行  node  test.js 得到結果

{ a: 12 }
{ a: 15 }

 

如果希望重新require的內容為原來的12則只需刪除 requrie中的cache即可

重新修改test.js為

 1 var aa = require('./a.js');
 2 console.log(aa)
 3 aa.a = 15;
 4 //重新加載還是15
 5 var bb = require('./a.js');
 6 console.log(bb);
 7 
 8 var path = require('path');
 9 var pwd = path.resolve();
10 pwd += '/a.js';
11 //console.log(pwd);
12 delete require.cache[pwd];
13 
14 
15 //刪除緩存后變為原來值
16 var cc = require('./a.js');
17 console.log(cc);

即可得到想要的結果:

{ a: 12 }
{ a: 15 }
{ a: 12 }

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM