在一个NodeJS项目上工作,我遇到了这个非常意想不到的行为,我无法解决这个问题 - 这对我来说似乎是一个错误,但也许我只是误解了NodeJS模块的运作方式.
我把它简化为一个测试用例如下:
mod.js模块
exports.process = function(obj) { obj.two = 'two'; };
test.js文件
var testObj = {one: 'one'};
console.log(['Before:', testObj]);
var cachedObj = testObj;
require('./mod').process(cachedObj);
console.log(['After:', testObj]);
然后跑步$ node test.js给我这个:
[ 'Before:', { one: 'one' } ]
[ 'After:', { one: 'one', two: 'two' } ]
我正在分配testObjto 的值cachedObj,并且testObj永远不会传递给模块方法.testObj应该(据我所知)永远不会被修改.
事实上,cachedObj肯定永远不会被修改,因为它永远不会从mod.process方法返回.我哪里错了?
(运行节点0.6.9)
我知道我们可以将图像加载到画布中,但我想知道我们是否能够将简单的HTML文件加载到画布中.如果有,怎么样?
谢谢.