Angular 5 应用程序无法在 Firefox v48.0.1 或 < 50.0 中运行

Angular 5 Application not working in Firefox v48.0.1 or < 50.0

由于项目范围的原因,我正在尝试 运行 我的 Angular 应用程序在旧版本的浏览器中。应用程序在最新版本和 Chrome 中运行良好。似乎问题出在 IE10 和 Mozilla Firefox(Firefox 版本 < 50)。我正在 运行 我的应用程序当前使用 48.0.1,我在控制台中遇到了一个简单的衬垫问题,它显示为。

类型错误:未定义就是这样。

我尝试 google 并发现了一个类似的 git 集线器问题。

这是我找到的关闭解决方案。 https://github.com/angular/angular-cli/issues/9340

我尝试按照与 uglifyjs-webpack-plugin 相关的问题进行操作,并将其移至以前的版本 1.1.5。我也用这些命令尝试过。

npm i uglifyjs-webpack-plugin@1.1.5 --save-exact
rm -rf package-lock.json node_modules
npm install

现在的问题是我仍然可以在我的 package-lock.json 文件中看到一些其他版本 1.2.5 和 0.4.6。我手动删了还是没解决

package.json

"dependencies": {
    ...
    "uglifyjs-webpack-plugin": "1.1.5",
}

包-lock.json

"@angular/cli": {

    "dependencies": {

        "requires": {
            ...
            "uglifyjs-webpack-plugin": "1.2.5",
        }
        "uglifyjs-webpack-plugin": {
          "version": "1.2.5",
          "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.2.5.tgz",
          "integrity": "sha512-hIQJ1yxAPhEA2yW/i7Fr+SXZVMp+VEI3d42RTHBgQd2yhp/1UdBcR3QEWPV5ahBxlqQDMEMTuTEvDHSFINfwSw==",
          "dev": true,
          "requires": {
            "cacache": "10.0.4",
            "find-cache-dir": "1.0.0",
            "schema-utils": "0.4.5",
            "serialize-javascript": "1.5.0",
            "source-map": "0.6.1",
            "uglify-es": "3.3.9",
            "webpack-sources": "1.1.0",
            "worker-farm": "1.6.0"
          },
          "dependencies": {
            "source-map": {
              "version": "0.6.1",
              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
              "dev": true
            }
          }
        }

        ....

        "uglifyjs-webpack-plugin": {
          "version": "1.1.5",
          "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-1.1.5.tgz",
          "integrity": "sha512-YBGc9G7dv12Vjx8vUQs54DZgAXVf04LlG6dNNiEbTZjL3PbUqiY4uPB9Kv+fUJaqRskEGva/lS7sh08yJr7jnA==",
          "requires": {
            "cacache": "10.0.4",
            "find-cache-dir": "1.0.0",
            "schema-utils": "0.3.0",
            "serialize-javascript": "1.5.0",
            "source-map": "0.6.1",
            "uglify-es": "3.2.2",
            "webpack-sources": "1.1.0",
            "worker-farm": "1.6.0"
          }
        },

        "webpack": {
            "requires": {
                "uglifyjs-webpack-plugin": "0.4.6",
            }
            "dependencies": {
                "uglifyjs-webpack-plugin": {
                  "version": "0.4.6",
                  "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz",
                  "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=",
                  "dev": true,
                  "requires": {
                    "source-map": "0.5.7",
                    "uglify-js": "2.8.29",
                    "webpack-sources": "1.1.0"
                  }
                },
            }
        }

    }
}

我能得到的任何想法或帮助。这是项目的关键。

提前致谢。

我找到了可用的解决方法。

只需添加 --aot false 即可。

我正在使用命令 ng serve --prod --aot=false 并且效果很好。

但是你知道它是否安全吗?我发现了 github 相同的讨论。

https://github.com/angular/angular-cli/issues/9244

https://github.com/angular/angular/issues/21631

强烈建议对此问题或正确答案进行任何更新。

谢谢,