Search code examples
angularangular7angular-cli-v7

Conditional script inclusion depending environment


I would like to know if there is a way to configure the scripts section of the angular.json file depending on the environment.

I would like to include a specific script(Myscript.js) only when I'm in the production environment.

"scripts": [
          "./node_modules/jquery/dist/jquery.min.js",
          "./node_modules/slick-carousel/slick/slick.min.js",
          "./src/assets/scripts/Myscript.js"
        ]

I don't find anything in the doc about that. Is it possible?


Solution

  • You can add the scripts array to your production configuration inside the angular.json. This is located in

    projects->{projectName}->architect->build->configurations->production

    "projects": {
      {projectName}: {
        "architect": {
          "build": {
            "configurations": {
              "production": {
                "scripts": [
                  "./node_modules/jquery/dist/jquery.min.js",
                  "./node_modules/slick-carousel/slick/slick.min.js",
                  "./src/assets/scripts/Myscript.js"
                ]
              }
            }
          }
        }
      }
    }
    

    This however does not look if the environment variable is set to true, so if you have more configurations that need this, you can obviously add it there as well.