【问题标题】:Angular 5 Application not working in Firefox v48.0.1 or < 50.0Angular 5 应用程序在 Firefox v48.0.1 或 < 50.0 中不起作用
【发布时间】:2018-11-02 00:02:37
【问题描述】:

由于项目范围,我正在尝试在旧版本的浏览器中运行我的 Angular 应用程序。应用程序在最新版本和 Chrome 中运行良好。似乎问题出在 IE10 和 Mozilla Firefox(Firefox 版本

TypeError:这是未定义的就是这样。

我尝试谷歌,发现一个类似的 git hub 问题。

这是我找到的关闭解决方案。 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",
}

package-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"
                  }
                },
            }
        }

    }
}

我能得到的任何想法或帮助。对项目来说是至关重要的。

提前致谢。

【问题讨论】:

  • 您是否按照文档中的说明添加了 polyfill?
  • 是的,所有 polyfill 条目默认未注释。但另一件事是我没有发现任何特定于 Firefox 浏览器的东西。你能帮我提供有用的链接吗?
  • 我已经完成了所有的工作。 Mainlty 浏览器支持部分。我有这些线。 /** Evergreen 浏览器需要这些。 **/ 导入 'core-js/es6/reflect';导入'core-js/es7/reflect';

标签: angular firefox cross-browser angular-cli libraries


【解决方案1】:

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

只需添加 --aot false 即可。

我正在使用命令 ng serve --prod --aot=false,它的作用就像是魅力。

但是你知道它是否安全吗?我找到了 github 的讨论。

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

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

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

谢谢,

【讨论】:

  • 对我来说, --aot false 标志不是必需的。该更改将修复它,因为它将要求我们关闭构建优化器。如果我们只是关闭构建优化器,并保留 --aot 标志 (--build-optimizer=false)。那仍然有效。在构建优化期间使用的包与这些版本的 Firefox 不兼容。失效的包是reflect-metadata 的特定版本0.1.12 所有这些信息都可以在上面发布的链接github.com/angular/angular/issues/21631 中找到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-10-19
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 2018-06-09
  • 2018-12-23
  • 1970-01-01
相关资源
最近更新 更多