创建一个支持browserify和jQuery <script>标记加载</script>的包

时间:2014-01-04 00:40:12

标签: javascript jquery npm browserify

我正在处理a JavaScript library (bitcoin-prices.js),我想使用browserify进行维护。该库依赖于jQuery。我不想强迫图书馆用户迁移到浏览器,但保留“删除一个文件+脚本标签”集成给那些没有从JavaScript社区喝过最新koolaid的人。

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

  • 启用浏览器的用户可以从NPM安装包,具有正确的jQuery依赖性

  • 传统用户仍然可以使用<script>标记删除捆绑包,将他们的jQuery加载到另一个<script>,并且代码仍然可以正常工作

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

1 个答案:

答案 0 :(得分:4)

惯例是这样做的(没有.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"]
    }
  },

在主页上,序列将如下:

<header>
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
      <script type="text/javascript" src="{{your library's browserified file}}"></script>
</header>

希望这有帮助