使用 Browserify 时如何捕获 javascript 文件的导出?

How to capture exports of a javascript file when using Browserify?

如果我有一个 javascript 文件,其内容为:

(function() {
  return function (foo) {
    return foo + "bar";
  };
}());

是否可以通过某种方式从该文件中的变量中捕获 return 值?我假设函数是 returned 到自动实例化 parens 然后垃圾收集,但我不确定。

顺便说一句,我试图将浏览器化的节点模块集合公开给 window 以进行测试(我意识到可能还有其他方法可以解决这个问题,但我很好奇这个)。

browserify(或其他 CommonJS 兼容系统)包含的文件可以通过 module.exports 向需要的文件公开方法或值。 module.exportsrequire() 语句返回。

举个例子:

index.js

var myClass = require("myClass");

myClass.js

module.exports = (function() {
    return function (foo) {
        return foo + "bar";
    };
}());

index.js 现在可以访问 myClass.js 中内置的函数,并且可以将其用作:

index.js

var myClass = require("myClass");
// expose the class to the global scope
window.myClass = myClass;
var result = myClass("foo ");

所以 var result 的值是 "foo bar".