提供使用 browserify 和 browserify-shim 创建的库
Make available a library created using browserify and browserify-shim
我想使用 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 来实现这一点?
非常感谢您的帮助!
蒂埃里
您不能配置 browserify 来实现此目的,因为这不是 browserify 的工作方式。但是您可以使用 browserify 的 global
变量来发布您的函数。
将以下行添加到您的库中:
global.doSomething = function() { ... }
然后像这样更改您的 html 代码:
$(document).ready(function() {
$('#test').click(function() {
doSomething();
});
});
注意:您不必单独包含 mylib.js
。只需包含捆绑包。
小心你的 function/module 名字。第一行代码会将函数附加到 window
-object,因此您可以 "pollute" 全局 space 或更重要的是:您可以覆盖其他全局模块。
我想使用 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 来实现这一点?
非常感谢您的帮助! 蒂埃里
您不能配置 browserify 来实现此目的,因为这不是 browserify 的工作方式。但是您可以使用 browserify 的 global
变量来发布您的函数。
将以下行添加到您的库中:
global.doSomething = function() { ... }
然后像这样更改您的 html 代码:
$(document).ready(function() {
$('#test').click(function() {
doSomething();
});
});
注意:您不必单独包含 mylib.js
。只需包含捆绑包。
小心你的 function/module 名字。第一行代码会将函数附加到 window
-object,因此您可以 "pollute" 全局 space 或更重要的是:您可以覆盖其他全局模块。