Magento 2 Advanced Js Bundling

I did R & D on this task and prepared some implementation notes it might help you others if you would like to do, please follow the below steps on

Advanced JS Bundling.

A) Required Tools

  1. node.js >= 8.x
  2. npm >= 6.x
  3. Magento 2 DevTool
  4. Git

B) DevTool Installation

  1. Clone the repository in your local machine Ex: git clone https://github.com/magento/m2-devtools.git
  2. Run npm install
  3. Run npm start (or)npm run build
  4. Navigate to chrome://extensions
  5. Enable Developer mode
  6. Click Load unpacked
  7. Select the extension folder in the root of this repository
  8. Close & reopen chrome browser

enter image description here enter image description here

C) Usage of DevTool

  1. Visit any page in the storefront in a browser with this extension installed

  2. Open RequireJS >> Bundle Generator

  3. Click the Record button

  4. Begin navigating to critical pages of your store (Home/Catalog/Product/Cart/Checkout)

  5. Click the Record button again when you are finished

  6. Follow the installation instructions in the Bundle Generator UI

Please refer below link for the usage of DevTool taken an example from default Magento 2.3.1 here

  • https://drive.google.com/file/d/1ysIjzr8ix1d4Vzi3gnwX4prp6-7_1JmM/view

D) Setup Instructions

  1. Install the Magento_BundleConfig module: This module is currently not consumable via the composer. Manually install the Magento_BundleConfig module from Github. Make sure you've run setup: upgrade and that the module is enabled.

Refer: https://github.com/magento/m2-devtools/tree/master/Magento_BundleConfig

2.Set Store to Production Mode: php bin/magento deploy:mode:set production

3.Backup Static Content Source: For the theme that you are bundling, move each language folder to a folder of the same name, appended with _source.

For example, if you're bundling Luma in English, move frontend/Magento/luma/en_US to frontend/Magento/luma/en_US_source.

Just rename en_US to en_US_source

  1. Install the RequireJS Optimizer: You must have node.js installed locally/Server. Run npm install -g requirejs

  2. Save the Generated Bundle Config: Click Copy to Clipboard in the Bundle Generator tab. Save the entire configuration in a file called build.js in the root of your store. (You have seen how to get build.js from the above video reference link)

r.js -o build.js baseUrl="pub/static/frontend/Magento/luma/en_US_source/" dir="pub/static/frontend/Magento/luma/en_US/"

Example: r.js -o build.js baseUrl="pub/static/frontend/Demo/Learning/en_US_source/" dir="pub/static/frontend/Demo/Learning/en_US/"

If the above steps have been performed correctly, your store should now be running with optimized JavaScript bundles.

https://prnt.sc/no7j3z

enter image description here