首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用browserify时,未定义未捕获的ReferenceError: function

使用browserify时,未定义未捕获的ReferenceError: function
EN

Stack Overflow用户
提问于 2015-05-29 14:44:07
回答 2查看 5.1K关注 0票数 12

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

我的html是:

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
<head>
<title>Test Browserify</title>

<script src="bundle.js"></script>

</head>
<body>
  <button onclick="hello()">test</button>
 </body>
</html>

我的javascript是:

代码语言:javascript
运行
复制
var unique = require('uniq');

var data = [1, 2, 2, 3, 4, 5, 5, 5, 6];

console.log(unique(data));

function hello(){
    alert("here");
}

我确实对main.js -o bundle.js进行了浏览器化,所以我可以成功地使用require。

但当我单击该按钮时,会出现以下错误:

“未捕获ReferenceError:未定义hello”

任何建议都将不胜感激!

EN

回答 2

Stack Overflow用户

发布于 2015-05-29 14:51:37

Browserifies的主要目的是使JavaScript模块具有私有作用域,因此它无法看到您正在尝试做的事情。

尝试使用

代码语言:javascript
运行
复制
global.hello = function() { alert("hello");}

参见defining global variable for browserify

一般来说,这是一种糟糕的做法,您应该将公共属性导出到模块之外,并通过所需的模块引用来引用它们。

票数 11
EN

Stack Overflow用户

发布于 2020-01-05 01:31:13

只需尝试在js文件中使用global.hello = function() { alert("hello");},然后使用browserify构建它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30522849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档