Webpack.optimize.UglifyJsPlugin lowercasing my Angular html template attribute names -- [Question Asked]

Query asked by user

Edit 11/10/21

Below is the original question for this post. Since posting, I figured out that the issue is not in the application code itself, but how webpack compiles/packages the final deployment files. As part of the build process, I am uglifying my resulting JS files, which contain the Angular templates, using Webpack.optimize.UglifyJsPlugin. I am observing that my *ngFor attributes are being lowercased to *ngfor which is why I am seeing the error documented in my original question below. How can I instruct Webpack.optimize.UglifyJsPlugin not to lowercase HTML template attribute names?

Original Question

Title: ngUpgrade-d application runs locally but fails when built for deployment

I am upgrading an AngularJS application to Angular 12 and have followed the angular.io tutorial. The application is now a hybrid of AngularJS modules and Angular modules, and works very well… when served locally. However, when I build the application and deploy to one of my test servers, I get the following runtime error:

Can't bind to 'ngforOf' since it isn't a known property of 'th'.
...
Property binding ngforOf not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations

I have searched low and high for a solution, but all suggest adding the BrowserModule to the main application module imports list and CommonModule to child modules. I have already done that, which is why everything works when serving the application locally. Any ideas on what I might be missing?

Thanks in advance.

Answer we found from sources

After figuring out the issue was with the compilation of the application, and doing a bit of research into how UglifyJsPlugin works, the issue was found to be in the html loader and the solution was found in this thread:

uglifyjsplugin breaking angular 2 templates

Answered By – GPicazo

This Answer collected from stackoverflow, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0


What is Angular?

Angular is an open-source, JavaScript outline written in TypeScript. Google keeps up with it, and its basic role is to foster single-page activities. As an edge, Angular enjoys clear benefits while likewise outfitting a standard design for formulators to work with. It empowers stoners to deliver huge tasks in a viable way. textures overall lift web improvement viability and execution by outfitting an agreeable construction so that formulators do n't need to continue to modify regulation from scratch. textures are efficient devices that offer formulators a large group of extra elements that can be added to programming easily.

However, is JavaScript ideal for creating single-sprinter activities that bear particularity, testability, and trend-setter efficiency? maybe not.

JavaScript is the most by and large utilized client-side prearranging language. It's composed into HTML reports to empower relations with web sprinters in endless extraordinary ways. As a genuinely simple to-learn language with inescapable help, creating current operations is appropriate.

Nowadays, we have various textures and libraries intended to give essential outcomes. As for front end web advancement, Angular addresses incalculable, while possibly not all, of the issues formulators face while utilizing JavaScript all alone.
Who we are?

We are team of software engineers in multiple domains like Programming and coding, Fundamentals of computer science, Design and architecture, Algorithms and data structures, Information analysis, Debugging software and Testing software. We are working on Systems developer and application developer. We are curious, methodical, rational, analytical, and logical. Some of us are also conventional, meaning we're conscientious and conservative.

Answer collected from stackoverflow and other sources, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0