在webpack.config.js中配置jquery

首先先安装jquery依赖:

npm install --save-dev jquery

接下来在webpack.config.js文件中引入一下内容:


plugins:[
      new webpack.ProvidePlugin({
         $:"jquery",
         jQuery:"jquery",
         "window.jQuery":"jquery"
      })
    ]

然后引入script.js

(function (name, definition) {
  if (typeof module != 'undefined' && module.exports) module.exports = definition()
  else if (typeof define == 'function' && define.amd) define(definition)
  else this[name] = definition()
})('$script', function () {
  var doc = document
    , head = doc.getElementsByTagName('head')[0]
    , s = 'string'
    , f = false
    , push = 'push'
    , readyState = 'readyState'
    , onreadystatechange = 'onreadystatechange'
    , list = {}
    , ids = {}
    , delay = {}
    , scripts = {}
    , scriptpath
    , urlArgs

  function every(ar, fn) {
    for (var i = 0, j = ar.length; i < j; ++i) if (!fn(ar[i])) return f
    return 1
  }
  function each(ar, fn) { every(ar, function (el) { fn(el) return 1 }) }

  function $script(paths, idOrDone, optDone) { paths = paths[push] ? paths : [paths] var idOrDoneIsDone = idOrDone && idOrDone.call , done = idOrDoneIsDone ? idOrDone : optDone , id = idOrDoneIsDone ? paths.join('') : idOrDone , queue = paths.length function loopFn(item) { return item.call ? item() : list[item] } function callback() { if (!--queue) { list[id] = 1 done && done() for (var dset in delay) { every(dset.split('|'), loopFn) && !each(delay[dset], loopFn) && (delay[dset] = []) } } } setTimeout(function () { each(paths, function loading(path, force) { if (path === null) return callback() if (!force && !/^https?:\/\//.test(path) && scriptpath) { path = (path.indexOf('.js') === -1) ? scriptpath + path + '.js' : scriptpath + path; } if (scripts[path]) { if (id) ids[id] = 1 return (scripts[path] == 2) ? callback() : setTimeout(function () { loading(path, true) }, 0) } scripts[path] = 1 if (id) ids[id] = 1 create(path, callback) }) }, 0) return $script }

  function create(path, fn) { var el = doc.createElement('script'), loaded el.onload = el.onerror = el[onreadystatechange] = function () { if ((el[readyState] && !(/^c|loade/.test(el[readyState]))) || loaded) return; el.onload = el[onreadystatechange] = null loaded = 1 scripts[path] = 2 fn() } el.async = 1 el.src = urlArgs ? path + (path.indexOf('?') === -1 ? '?' : '&') + urlArgs : path; head.insertBefore(el, head.lastChild) }

  $script.get = create

  $script.order = function (scripts, id, done) { (function callback(s) { s = scripts.shift() !scripts.length ? $script(s, id, done) : $script(s, callback) }()) }

  $script.path = function (p) { scriptpath = p }
  $script.urlArgs = function (str) { urlArgs = str; }
  $script.ready = function (deps, ready, req) { deps = deps[push] ? deps : [deps] var missing = []; !each(deps, function (dep) { list[dep] || missing[push](dep); }) && every(deps, function (dep) {return list[dep]}) ? ready() : !function (key) { delay[key] = delay[key] || [] delay[key][push](ready) req && req(missing) }(deps.join('|')) return $script }

  $script.done = function (idOrDone) { $script([null], idOrDone) }

  return $script
});

最后在需要jquery的js里面如下书写即可

$script("//ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js", function() {
        //Code here
    });
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值