在使用eventproxy插件的时候,
因为我是跨页面调用和监听,
demo
A.js
var eventproxy = require('eventproxy')
var ep = new eventproxy();
ep.on('test',function(data){
console.log(data)
})
b.js
var eventproxy = require('eventproxy')
var ep = new eventproxy();
ep.emit('test',"abc")
在运行的过程中,ep.on却无法打印出其值,猜测:可能是ep不是同一个对象,导致的
所以使用require包装一下
eventproxy.js
var eventproxy = require('eventproxy')
var ep = new eventproxy();
module.exports = ep;
A.js
var ep = require('../eventproxy')
// ...此处代码同上
b.js
var ep = require('../eventproxy')
// ...此处代码同上
ep.on(funciton(data){
//发现data的值已经存在了
})
PS:因为本人nodejs,基础不太好,项目所用,不是慢慢积累型学习,
所以想问下各位:
require()函数是不是一次加载?意思是,是不是类似于一个静态instanse实例,如果加载完成成,则会直接返回,不会再次加载
从实验来看,require()函数是一次加载,但是不确定,所以麻烦问下各位,谢谢!
也就是想了解下require()函数的加载机制
The require function only loads the module once~~