创建一个支持browserify和jQuery 标记加载的包

我正在开发一个JavaScript库(bitcoin-prices.js) ,我想用browserify维护它。 该库依赖于jQuery。 我不想强迫库用户移动到browserify,但保留“drop one file + script tag”集成给那些没有从JavaScript社区喝过最新koolaid的人。

我的问题是如何使用browserify创建bundle.js,以便

  • 支持browserify的用户可以从NPM安装包,具有适当的jQuery依赖性

  • 传统用户仍然可以使用标签drop in bundle,将他们的jQuery加载到另一个任何地方,代码仍然正常工作

我想在$ = require('jquery.js')附近需要某种样板代码?

惯例就是这样做(没有.js):

 var $ = require('jquery') 

如果您使用的是grunt-browserify( https://github.com/jmreidy/grunt-browserify ),

以这种方式编译您的库:

  your_task:{ src:'{{your library's js file}}', dest:'{{your library's browserified file}}', options: { external: ["jquery"] } }, 

在主页上,序列将如下所示:

 

希望这可以帮助