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

时间:2015-01-07 21:01:30

标签: javascript browserify webpack

如果我的javascript文件包含以下内容:

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

是否有可能以某种方式从变量中捕获该文件的返回值?我假设函数返回到auto实例化parens然后收集垃圾,但我不确定。

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

1 个答案:

答案 0 :(得分:2)

browserify(或其他CommonJS兼容系统)附带的文件可以通过module.exports将方法或值公开给需求文件。从module.exports声明返回require()

举个例子:

<强> 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"