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