javascriptjqueryrequirejsjquery-migrate

How to load jQuery Migrate for jQuery via RequireJS?


Can I load jQuery migrate via RequireJS? I don't understand how the timing can be handled correctly. See this example:

require([
  'jquery',
  'jqmigrate'
], function ($) {
  if ($.browser.msie) {...}
});

Isn't is possible that jqmigrate will load before jquery? Also, I do not want to keep loading jqmigrate explicitly in every module. Any way to do this in the require.config so it loads jqmigrate automatically when jQuery is required?


Solution

  • using shims worked for me. I did get stuck because i had pluralized shims its; shim

    requirejs.config({
        paths: {
            'jquery': '//code.jquery.com/jquery-2.1.4',
            'jquery-migrate': '//code.jquery.com/jquery-migrate-1.2.1'
        },
        shim: {
            'jquery-migrate': { deps: ['jquery'], exports: 'jQuery' },
            'foo': ['jquery']
        }
    });
    require(['jquery-migrate', './foo'], ($, foo) => {
         console.log('bootstrapped', $, foo);
    });