我想使用Browserify / Browserify Shim为浏览器创建一个JavaScript库,并使其在全局变量的浏览器中可用。
我希望条目JS文件的导出将附加在此变量上。例如,在我的图书馆,我会这样:
exports.doSomething = function() {
(...)
};
而且,在我的浏览器中,我想这样做:
<html>
<head>
<script type="text/javascript" src="mylib.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#test').click(function() {
mylib.doSomething();
});
});
</script>
</head>
(...)
</html>
如何配置Browserify / Browserify Shim来实现此目的?
非常感谢你的帮助! 亨利
答案 0 :(得分:1)
您无法配置browserify来实现此目的,因为这不是browserify的工作方式。但您可以使用browserify的global
变量来发布您的函数。
将以下行添加到您的库中:
global.doSomething = function() { ... }
然后像这样更改你的html代码:
$(document).ready(function() {
$('#test').click(function() {
doSomething();
});
});
注意:您不必分开包含mylib.js
。只需加入捆绑包。
小心您的功能/模块名称。第一个代码行将函数附加到window
- 对象,因此您可以“污染”全局空间或更重要:您可以覆盖其他全局模块。