Jhipster-angular 项目无法在 IE11 上运行



我们的项目是一个基于Jhipster的生成器项目。 最近,我们将core-js更新到 V3.1.3。 除IE11外,该项目运行良好。 当我们尝试使用 IE11 访问此项目时 它为我们提供了:

发生错误:-(

常见错误原因
1.您从 IDE 启动了应用程序,但未运行 npm start 或 npm run webpack:build。
2.运行 npm 安装时出现网络错误。如果您位于公司代理后面,则此错误可能是由您的 代理。看看JHipster错误日志,你可能会有 错误的原因。
3.您安装了不适用于 JHipster 的 Node.js 版本:请使用 LTS(长期支持(版本,因为它是唯一的版本 我们支持的版本。

谷歌搜索了一些关于角度如何与IE11一起工作的问题。 我们已经在 polyfill.ts 中添加了一些导入。 已安装classlist.jsweb-animation-js

import 'classlist.js';
import 'web-animations-js';
// support for IE 11
import 'core-js/es/symbol';
import 'core-js/es/object';
import 'core-js/es/function';
import 'core-js/es/parse-int';
import 'core-js/es/parse-float';
import 'core-js/es/number';
import 'core-js/es/math';
import 'core-js/es/string';
import 'core-js/es/date';
import 'core-js/es/array';
import 'core-js/es/regexp';
import 'core-js/es/map';
import 'core-js/es/weak-map';
import 'core-js/es/set';
import 'core-js/es/reflect';
import 'core-js/features/symbol';
import 'core-js/features/object';
import 'core-js/features/function';
import 'core-js/features/parse-int';
import 'core-js/features/parse-float';
import 'core-js/features/number';
import 'core-js/features/math';
import 'core-js/features/string';
import 'core-js/features/date';
import 'core-js/features/array';
import 'core-js/features/regexp';
import 'core-js/features/map';
import 'core-js/features/weak-map';
import 'core-js/features/set';
import 'core-js/features/reflect';

import 'core-js/proposals/reflect-metadata';
import 'zone.js/dist/zone';

在控制台中出现错误:

Google Maps JavaScript API 错误:RefererNotAllowedMapError https://developers.google.com/maps/documentation/javascript/error-messages#referer-not-allowed-map-error 要授权的网站网址:http://localhost:9000/

我们不确定这是否与此问题有关。

任何帮助将不胜感激!

你可以在这里查看我对类似问题的回答。

首先,添加这些package.json依赖项:@babel/core@babel/preset-envbabel-loader

yarn add @babel/core @babel/preset-env babel-loader --exact --dev

(使用以下版本进行测试:

    "@babel/core": "7.6.4",
    "@babel/preset-env": "7.6.3",
    "babel-loader": "8.0.6",

(

现在在src/main/webapp/app/polyfills.ts顶部添加以下行:

import 'core-js/stable';
import 'regenerator-runtime/runtime';

webpack/webpack.common.js,之后

            {
                test: /manifest.webapp$/,
                loader: 'file-loader',
                options: {
                    name: 'manifest.webapp'
                }
            },

添加以下行:

            {
                test: /.js/,
                use: {
                  loader: 'babel-loader',
                  options: {
                    "presets": [
                      [
                        "@babel/preset-env",
                        {
                          "targets": {
                            "firefox": "60",
                            "ie": "11"
                          },
                          "useBuiltIns": "entry",
                          "corejs": 3
                        }
                      ]
                    ]
                  }
                },
                exclude: /@babel(?:/|\{1,2})runtime|core-js/,
              },

最后,在 tsconfig.json & tsconfig-aot.json 中将target更改为 es5

最新更新