Browserify - 在客户端公开方法

时间:2015-09-01 18:05:12

标签: javascript angularjs node.js browserify

我想我在浏览器中遗漏了一些东西。我想浏览我的自定义节点模块,它暴露了一些功能。我该怎么做?

我在浏览器中看到的每个示例都始终是console.log或警报。如果它立即运行对我不好。我想按需运行我的browserify代码。

但是为了这个例子。假设我导出sum方法。举个例子:

module.exports = {
  sum = function(a, b) {
    return a + b;
  }
};

通过标准命令对浏览器进行浏览后:browserify index.js -o bundle.js。

然后我将此文件添加到我的index.html。

在我的AngularJS应用程序或任何客户端代码中。如何访问此总和方法?

我无法在window.sum上找到它。或许我弄错了。

3 个答案:

答案 0 :(得分:1)

@ WellDone2044答案应该会让你知道如何解决你的问题。当您按照WellDone2044所示运行browserify时,它会将您的javascript文件捆绑在您的主文件中,该文件在示例中为index.js。捆绑的输出将写入bundle.js,browserify将包含Node的require功能。因此,您可以在客户端脚本上使用require方法。请注意,您必须始终对js脚本所做的每次修改运行browserify。您的索引文件可能如下所示:

var sum = require('./sum.js');

console.log(sum(1,2)); // displays 3

答案 1 :(得分:0)

我没有真正解决问题,但我试图解释我如何使用browserify

//sum.js
var sum = function(a,b){
    return a+b;
}
module.exports = sum


//index.js
var sum = require('./sum.js');
console.log(sum(1,2)); //print 3

现在我执行browserify index.js -o bundle.js

答案 2 :(得分:0)

你无法在public static void main(String[] args) { SpringApplication.run(RsscollectorApplication.class, args).close(); System.out.println("done"); } 找到它,因为这正是重点 - 你不需要全局变量。如前所述,您使用window.sum导出模块,以便在不使用全局变量的情况下在其他文件中使用它。在另一个文件中,您可以调用module.exports = something。当您通过browserify运行它时,它会将所有内容与var obj = require('path/to/file/with/module.exports');函数捆绑在一起。 require函数知道如何查找导出的对象。因此,基本上require会为您提供导出的对象,您可以将总和称为var obj = require('./sum.js')