JS,Browserify:未定义函数
我有表示的文件:
-js/
- calc.js
- tool.js
-index.html
calc.js是一个节点模块,结构如下:
module.exports = {
calculate: function() {...},
getPrecision: function() {...}
}
和工具.js使用require
并增加了一些函数,如:
const fpcalc = require('./fpcalc');
function changeState() {
//some code using fpcalc
}
我使用Browserify生成bundle.js
,并将其添加为脚本src。
我在HTML页上的一个按钮是使用onclick=changeState()
。点击后,我得到
ReferenceError: changeState is not defined
at HTMLAnchorElement.onclick
为什么?有没有其他方法可以让它起作用?
解决方案
您的工具.js中不会导出"changeState"函数。 这意味着它仅在bundle.js内部可见,而在外部不可见。
看看这个:https://makerlog.org/posts/creating-js-library-builds-with-browserify-and-other-npm-modules
它向您展示了如何在Java脚本中将您的代码公开到全局命名空间。
相关文章