使用browserify,未捕获的ReferenceError:函数未定义

我在http://browserify.org/尝试示例,并尝试进行函数调用,如下所示:

我的html是:

<!DOCTYPE html> <html> <head> <title>Test Browserify</title> <script src="bundle.js"></script> </head> <body> <button onclick="hello()">test</button> </body> </html> 

和我的JavaScript是:

 var unique = require('uniq'); var data = [1, 2, 2, 3, 4, 5, 5, 5, 6]; console.log(unique(data)); function hello(){ alert("here"); } 

我做了browserify main.js -o bundle.js,所以我可以使用require成功。

但是当我点击button,我有错误:

“未捕获的ReferenceError:你没有定义”

任何build议将不胜感激!

Browserifies的主要目的是使JavaScript模块在私人范围内,因此无法查看您正在尝试执行的操作。

尝试使用

 global.hello = function() { alert("hello");} 

请参阅为browserify定义全局variables 。

一般来说,这是不好的做法,您应该将公共属性从模块中导出,并通过所需的模块引用来引用它们。