what is requirejs-config.js in Magento2?

Shim:

To build a dependency on the third-party plugin, specify a [shim] in the following configuration files:

requirejs-config.js

 var config = {
     "shim": {
     "3-rd-party-plugin": ["jquery"]
     }
 };

Map:

Replace a default JS component To use a custom implementation of an existing Magento JS component: Place the custom component source file in one of the following locations:

Your theme JS files: /web/js or /_/web/js Your module view JS files: /view/frontend/web/js Create a RequireJS configuration file requirejs-config.js, having specified the following:

var config = {
  "map": {
    "*": {
      "<default_component>": "<custom_component>"
    }
  }
};

Deps:

Is used when your require js configurations depends upon some dependencies, i.e. you want to load some dependencies before your requires js define()’d is called. example:

var config = {
    "deps": [
        "jquery"
    ]
};

Here, It loads the [jquery] as soon as the require define()’d is called.