我必须缺少Webpack或JS的基本功能。我只想在表单的提交函数中调用捆绑函数。我得到一个功能未找到的消息,我无法弄清楚原因。
错误 index.html:13未捕获的ReferenceError:未定义double
index.html(为简洁起见,删除了结束标记)
<head>
<script type="text/javascript" src="bundle.js"></script>
<body>
<form name='myform' onsubmit="doStuff(event); return false;">
<button type="submit">Press Me!</button>
<script type="text/javascript">
function doStuff(e) {
e.preventDefault();
console.log(double(32));
}
abc.js(webpack入口点)
var a = require('./double');
double.js
function double(number) {
return number * 2;
}
module.exports.double = double;
...捆绑
$ webpack abc.js bundle.js
Hash: 0e65404017702c54dac5
Version: webpack 1.13.2
Time: 59ms
Asset Size Chunks Chunk Names
bundle.js 1.58 kB 0 [emitted] main
[0] ./abc.js 28 bytes {0} [built]
[1] ./double.js 80 bytes {0} [built]
任何帮助表示赞赏
答案 0 :(得分:1)
问题是尝试混合页面和捆绑的JS。它们的范围不同,因此捆绑的方法不可见。
我将onsubmit函数从页面移动到了在window.load之后运行的条目文件。 window对象当然是全局的,因此捆绑的代码可以向任何DOM元素添加事件处理程序。