我最近尝试将一个文件导入到我现有的 node.js 项目中。我知道这应该用一个模块编写,但我包括我的外部 javascript 文件,如下所示:
eval(fs.readFileSync('public/templates/simple.js')+'')
simple.js 的内容如下所示:
if (typeof examples == 'undefined') { var examples = {}; }
if (typeof examples.simple == 'undefined') { examples.simple = {}; }
examples.simple.helloWorld = function(opt_data, opt_sb) {
var output = opt_sb || new soy.StringBuilder();
output.append('Hello world!');
return opt_sb ? '' : output.toString();
};
(是的,谷歌关闭模板)。
我现在可以使用以下方法调用模板文件:
examples.simple.helloWorld();
一切都按预期工作。但是,我无法弄清楚这些函数的范围是什么,以及我可以在哪里访问示例对象。
一切都在 node.js 0.8 服务器中运行,就像我说的那样工作......我只是不知道为什么?
感谢您的澄清。