如何在CDN链接之前使用带有webpack的jQuery

时间:2015-03-08 15:22:59

标签: jquery webpack

是否可以在需要like in RequireJS时从CDN加载外部jQuery?我的意思是在config中的某处指定外部jQuery源(在CDN上),然后在CommonJS(或AMD)样式中使用它:

$ = require('jquery')

问题是我的自定义脚本高于 jQuery的CDN链接,所以我的无法找到变量jQuery '错误。我的代码示意如下:

<script src="custom_code.js'>
  // uncompiled source like:
  define(['jquery', '../../node_modules/baconjs/dist/Bacon.js'], function($, bacon) {
    console.log 'ok'
  });
</script>
...
<script src="//yastatic.net/jquery/2.1.3/jquery.min.js"></script> 

1 个答案:

答案 0 :(得分:0)

阅读this post后,使用require.ensure我已成功完成任务。 custom_code.js:

require.ensure(['jquery', '../../node_modules/baconjs/dist/Bacon.js'], function(require){
  var $ = require 'jquery'
  var bacon = require '../../node_modules/baconjs/dist/Bacon.js'

  $('.content').prepend('it works!')
});

在webpack配置中我添加了

externals: { jquery: "jQuery" },

在这种情况下,webpack将对使用Bacon.js的编译捆绑包提出额外请求。

我仍然想知道如果客户端在之前加载Bacon.js 将会从CDN加载jQuery将会是什么?