Javascript 使使用browserify和browserify创建的库可用

Javascript 使使用browserify和browserify创建的库可用,javascript,browserify,browserify-shim,Javascript,Browserify,Browserify Shim,我想使用Browserify/Browserify Shim为浏览器创建一个JavaScript库,并通过全局变量使其在浏览器中可用 我希望条目JS文件的导出将附加到此变量上。例如,在我的库中,我会有以下内容: exports.doSomething = function() { (...) }; 在我的浏览器中,我希望执行以下操作: <html> <head> <script type="text/javascript" src="mylib

我想使用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>

$(文档).ready(函数(){
$(“#测试”)。单击(函数(){
mylib.doSomething();
});
});
(...)
如何配置Browserify/Browserify Shim来实现这一点

非常感谢你的帮助!
Thierry

您无法配置browserify来实现这一点,因为browserify不是这样工作的。但是您可以使用browserify的
全局
变量来发布函数

将以下行添加到库中:

global.doSomething = function() { ... }
然后按如下方式更改html代码:

$(document).ready(function() {
  $('#test').click(function() {
    doSomething();
  });
});
注意:您不必单独包含
mylib.js
。只要把包裹包括在内

请注意函数/模块名称。第一个代码行将函数附加到
窗口
-对象,因此您可能会“污染”全局空间,或者更重要的是:您可能会覆盖其他全局模块