angular / angular-cli

CLI tool for Angular
https://cli.angular.io
MIT License
26.75k stars 11.98k forks source link

url suffix with .html are not rendering after ng eject command is used for Webpack.config.js #11225

Closed atulintel closed 6 years ago

atulintel commented 6 years ago

Versions

Output from: ng --version. (windows 10) Angular CLI: 1.6.3 Node: 10.4.0 OS: win32 x64 Angular: 5.2.3 typescript: 2.4.2 webpack-dev-server: 2.9.7 webpack: 3.10.0

Repro steps

I used ng eject command to set the options for the images in webpack.config.js.

But after ejecting the webpack configuration file, when i try to load any url suffix with .html like http://localhost:4200/search.html, it is not rendering the page and throwing exception like Cannot GET /search.html.

All other url which are not suffix with .html is rendering properly though. Before using ng eject command .html files was also rendering based on the route defined. Below is the route configuration.

  { path: 'operate_customer', component: HomeComponent },
  { path: 'contactus.html', component: ContactusComponent },
  { path: 'home',component: HomeComponent },
  { path: '', component: HomeComponent },
  { path: 'registration',component: RegistrationComponent },
  { path: 'login.html',component: LoginComponent },
  { path: 'wishlist.html',component: WishlistComponent },
  { path: 'address_book',component:AddressBookComponent },
  { path: 'order_list',component:OrdersComponent },
  { path: 'order_details/:id',component:OrderDetailComponent },
  { path: 'sitemap.html',component: SitemapComponent },
  { path: 'cart.html',component: CartComponent },
  { path: 'checkout.html',component: CheckoutComponent },
  { path: 'checkout-success.html',component: CheckoutSuccessComponent },
  { path: 'paymentresponse.html',component:PaymentresponseComponent },
  { path: 'search.html',component:SearchComponent },
  { path: 'diamond-bracelets', pathMatch: 'full' ,component: SubcategoryComponent },
  { path: 'collection/:slug', component: PagesnproductsComponent },
  { path: ':slug',component: PagesnproductsComponent },
  { path: ':slug/:name1',component: SubcategoryComponent },
  { path: ':slug/:name1/:name2',component: SubcategoryComponent },
  { path: ':slug/:name1/:name2/:name3',component: SubcategoryComponent },
  { path: ':slug/:name1/:name2/:name3/:name4',component: SubcategoryComponent },

Also the webpack.config.js file is

const path = require('path');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const ProgressPlugin = require('webpack/lib/ProgressPlugin');
const CircularDependencyPlugin = require('circular-dependency-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const rxPaths = require('rxjs/_esm5/path-mapping');
const autoprefixer = require('autoprefixer');
const postcssUrl = require('postcss-url');
const cssnano = require('cssnano');
const customProperties = require('postcss-custom-properties');

const { NoEmitOnErrorsPlugin, SourceMapDevToolPlugin, NamedModulesPlugin } = require('webpack');
const { ScriptsWebpackPlugin, NamedLazyChunksWebpackPlugin, BaseHrefWebpackPlugin } = require('@angular/cli/plugins/webpack');
const { CommonsChunkPlugin } = require('webpack').optimize;
const { AngularCompilerPlugin } = require('@ngtools/webpack');

const nodeModules = path.join(process.cwd(), 'node_modules');
const realNodeModules = fs.realpathSync(nodeModules);
const genDirNodeModules = path.join(process.cwd(), 'src', '$$_gendir', 'node_modules');
const entryPoints = ["inline","polyfills","sw-register","styles","scripts","vendor","main"];
const minimizeCss = false;
const baseHref = "";
const deployUrl = "";
const projectRoot = "C:\\Users\\sit91\\Downloads\\angular_module";
const postcssPlugins = function () {
        // safe settings based on: https://github.com/ben-eb/cssnano/issues/358#issuecomment-283696193
        const importantCommentRe = /@preserve|@licen[cs]e|[@#]\s*source(?:Mapping)?URL|^!/i;
        const minimizeOptions = {
            autoprefixer: false,
            safe: true,
            mergeLonghand: false,
            discardComments: { remove: (comment) => !importantCommentRe.test(comment) }
        };
        return [
            postcssUrl({
                filter: ({ url }) => url.startsWith('~'),
                url: ({ url }) => path.join(projectRoot, 'node_modules', url.substr(1)),
            }),
            postcssUrl([
                {
                    // Only convert root relative URLs, which CSS-Loader won't process into require().
                    filter: ({ url }) => url.startsWith('/') && !url.startsWith('//'),
                    url: ({ url }) => {
                        if (deployUrl.match(/:\/\//) || deployUrl.startsWith('/')) {
                            // If deployUrl is absolute or root relative, ignore baseHref & use deployUrl as is.
                            return `${deployUrl.replace(/\/$/, '')}${url}`;
                        }
                        else if (baseHref.match(/:\/\//)) {
                            // If baseHref contains a scheme, include it as is.
                            return baseHref.replace(/\/$/, '') +
                                `/${deployUrl}/${url}`.replace(/\/\/+/g, '/');
                        }
                        else {
                            // Join together base-href, deploy-url and the original URL.
                            // Also dedupe multiple slashes into single ones.
                            return `/${baseHref}/${deployUrl}/${url}`.replace(/\/\/+/g, '/');
                        }
                    }
                },
                {
                    // TODO: inline .cur if not supporting IE (use browserslist to check)
                    filter: (asset) => !asset.hash && !asset.absolutePath.endsWith('.cur'),
                    url: 'inline',
                    // NOTE: maxSize is in KB
                    maxSize: 10
                }
            ]),
            autoprefixer(),
            customProperties({ preserve: true })
        ].concat(minimizeCss ? [cssnano(minimizeOptions)] : []);
    };

module.exports = {
  "resolve": {
    "extensions": [
      ".ts",
      ".js"
    ],
    "modules": [
      "./node_modules",
      "./node_modules"
    ],
    "symlinks": true,
    "alias": rxPaths(),
    "mainFields": [
      "browser",
      "module",
      "main"
    ]
  },
  "resolveLoader": {
    "modules": [
      "./node_modules",
      "./node_modules"
    ],
    "alias": rxPaths()
  },
  "entry": {
    "main": [
      "./src\\main.ts"
    ],
    "polyfills": [
      "./src\\polyfills.ts"
    ],
    "styles": [
      "./src\\assets\\frontend\\css\\jquery-ui.css",
      "./src\\assets\\frontend\\css\\jquery-ui.theme.min.css",
      "./src\\styles.css",
      "./src\\assets\\frontend\\css\\language_selector.css",
      "./src\\assets\\frontend\\css\\theme.css",
      "./src\\assets\\frontend\\css\\style.css",
      "./src\\assets\\frontend\\css\\ajax.css",
      "./src\\assets\\frontend\\css\\style_custom.css",
      "./src\\assets\\frontend\\css\\ie.css",
      "./src\\assets\\frontend\\css\\super-panel.css",
      "./src\\assets\\frontend\\slick\\slick.css",
      "./src\\assets\\frontend\\slick\\slick-theme.css",
      "./src\\assets\\frontend\\css\\social_sharing.css",
      "./src\\assets\\frontend\\css\\Vresponsive.css",
      "./src\\assets\\dist\\css\\colorbox.css"
    ]
  },
  "output": {
    "path": path.join(process.cwd(), "dist"),
    "filename": "[name].bundle.js",
    "chunkFilename": "[id].chunk.js",
    "crossOriginLoading": false
  },
  "module": {
    "rules": [
      {
        "test": /\.html$/,
        "loader": "raw-loader"
      },
      {
        "test": /\.(eot|svg|cur)$/,
        "loader": "file-loader",
        "options": {
          "name": "[name].[hash:20].[ext]",
          "limit": 10000
        }
      },
      {
        "test": /\.(jpg|png|webp|gif|otf|ttf|woff|woff2|ani)$/,
        "loader": "url-loader",
        "options": {
            "limit": 8000, // Convert images < 8kb to base64 strings
            "name" : 'images/[hash]-[name].[ext]'
        }
      },
      {
        "exclude": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.css$/,
        "use": [
          "exports-loader?module.exports.toString()",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          }
        ]
      },
      {
        "exclude": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.scss$|\.sass$/,
        "use": [
          "exports-loader?module.exports.toString()",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          },
          {
            "loader": "sass-loader",
            "options": {
              "sourceMap": false,
              "precision": 8,
              "includePaths": []
            }
          }
        ]
      },
      {
        "exclude": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.less$/,
        "use": [
          "exports-loader?module.exports.toString()",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          },
          {
            "loader": "less-loader",
            "options": {
              "sourceMap": false
            }
          }
        ]
      },
      {
        "exclude": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.styl$/,
        "use": [
          "exports-loader?module.exports.toString()",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          },
          {
            "loader": "stylus-loader",
            "options": {
              "sourceMap": false,
              "paths": []
            }
          }
        ]
      },
      {
        "include": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.css$/,
        "use": [
          "style-loader",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          }
        ]
      },
      {
        "include": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.scss$|\.sass$/,
        "use": [
          "style-loader",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          },
          {
            "loader": "sass-loader",
            "options": {
              "sourceMap": false,
              "precision": 8,
              "includePaths": []
            }
          }
        ]
      },
      {
        "include": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.less$/,
        "use": [
          "style-loader",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          },
          {
            "loader": "less-loader",
            "options": {
              "sourceMap": false
            }
          }
        ]
      },
      {
        "include": [
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\jquery-ui.theme.min.css"),
          path.join(process.cwd(), "src\\styles.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\language_selector.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ajax.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\style_custom.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\ie.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\super-panel.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\slick\\slick-theme.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\social_sharing.css"),
          path.join(process.cwd(), "src\\assets\\frontend\\css\\Vresponsive.css"),
          path.join(process.cwd(), "src\\assets\\dist\\css\\colorbox.css")
        ],
        "test": /\.styl$/,
        "use": [
          "style-loader",
          {
            "loader": "css-loader",
            "options": {
              "sourceMap": false,
              "importLoaders": 1
            }
          },
          {
            "loader": "postcss-loader",
            "options": {
              "ident": "postcss",
              "plugins": postcssPlugins,
              "sourceMap": false
            }
          },
          {
            "loader": "stylus-loader",
            "options": {
              "sourceMap": false,
              "paths": []
            }
          }
        ]
      },
      {
        "test": /\.ts$/,
        "loader": "@ngtools/webpack"
      }
    ]
  },
  "plugins": [
    new NoEmitOnErrorsPlugin(),
    new ScriptsWebpackPlugin({
      "name": "scripts",
      "sourceMap": true,
      "filename": "scripts.bundle.js",
      "scripts": [
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\jquery.min.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\dist\\js\\jquery-ui.min.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\common.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\super-panel.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\accordion-menu.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\jquery.touchSwipe.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\cc_c2a.min.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\js\\others.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\frontend\\slick\\slick.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\dist\\js\\jquery.colorbox-min.js",
        "C:\\Users\\sit91\\Downloads\\angular_module\\src\\assets\\dist\\js\\product.js"
      ],
      "basePath": "C:\\Users\\sit91\\Downloads\\angular_module"
    }),
    new CopyWebpackPlugin([
      {
        "context": "src",
        "to": "",
        "from": {
          "glob": "assets/**/*",
          "dot": true
        }
      },
      {
        "context": "src",
        "to": "",
        "from": {
          "glob": "template",
          "dot": true
        }
      },
      {
        "context": "src",
        "to": "",
        "from": {
          "glob": "favicon.ico",
          "dot": true
        }
      }
    ], {
      "ignore": [
        ".gitkeep",
        "**/.DS_Store",
        "**/Thumbs.db"
      ],
      "debug": "warning"
    }),
    new ProgressPlugin(),
    new CircularDependencyPlugin({
      "exclude": /(\\|\/)node_modules(\\|\/)/,
      "failOnError": false,
      "onDetected": false,
      "cwd": "C:\\Users\\sit91\\Downloads\\angular_module"
    }),
    new NamedLazyChunksWebpackPlugin(),
    new HtmlWebpackPlugin({
      "template": "./src\\index.html",
      "filename": "./index.html",
      "hash": false,
      "inject": true,
      "compile": true,
      "favicon": false,
      "minify": false,
      "cache": true,
      "showErrors": true,
      "chunks": "all",
      "excludeChunks": [],
      "title": "Webpack App",
      "xhtml": true,
      "chunksSortMode": function sort(left, right) {
        let leftIndex = entryPoints.indexOf(left.names[0]);
        let rightindex = entryPoints.indexOf(right.names[0]);
        if (leftIndex > rightindex) {
            return 1;
        }
        else if (leftIndex < rightindex) {
            return -1;
        }
        else {
            return 0;
        }
    }
    }),
    new BaseHrefWebpackPlugin({}),
    new CommonsChunkPlugin({
      "name": [
        "inline"
      ],
      "minChunks": null
    }),
    new CommonsChunkPlugin({
      "name": [
        "vendor"
      ],
      "minChunks": (module) => {
                return module.resource
                    && (module.resource.startsWith(nodeModules)
                        || module.resource.startsWith(genDirNodeModules)
                        || module.resource.startsWith(realNodeModules));
            },
      "chunks": [
        "main"
      ]
    }),
    new SourceMapDevToolPlugin({
      "filename": "[file].map[query]",
      "moduleFilenameTemplate": "[resource-path]",
      "fallbackModuleFilenameTemplate": "[resource-path]?[hash]",
      "sourceRoot": "webpack:///"
    }),
    new CommonsChunkPlugin({
      "name": [
        "main"
      ],
      "minChunks": 2,
      "async": "common"
    }),
    new NamedModulesPlugin({}),
    new AngularCompilerPlugin({
      "mainPath": "main.ts",
      "platform": 0,
      "hostReplacementPaths": {
        "environments\\environment.ts": "environments\\environment.ts"
      },
      "sourceMap": true,
      "tsConfigPath": "src\\tsconfig.app.json",
      "skipCodeGeneration": true,
      "compilerOptions": {}
    })
  ],
  "node": {
    "fs": "empty",
    "global": true,
    "crypto": "empty",
    "tls": "empty",
    "net": "empty",
    "process": true,
    "module": false,
    "clearImmediate": false,
    "setImmediate": false
  },
  "devServer": {
    "historyApiFallback": true
  }
};,

The log given by the failure

when i browse url - http://localhost:4200/search.html it shows error message

Cannot GET /search.html

Desired functionality

It is working without any issue if i do not use ng eject command but once i run the command ng eject all the url ending with .html stops working which i already defined in routing.

Any ideas/solution/tip?

filipesilva commented 6 years ago

Hello, we reviewed this issue and determined that it doesn't fall into the bug report or feature request category. This issue tracker is not suitable for support requests, please repost your issue on StackOverflow using tag angular-cli.

If you are wondering why we don't resolve support issues via the issue tracker, please check out this explanation.

Projects that have been ejected are very hard to debug because they can be modified in any way. If you feel confident that the problem is not due to changes you have made, please provide a reproduction from a new project.

angular-automatic-lock-bot[bot] commented 5 years ago

This issue has been automatically locked due to inactivity. Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.