ng存储在角度cli应用程序不适用于IE 11

时间:2017-08-25 17:51:25

标签: javascript angular redux polyfills

在IE 11中运行时,我在角度应用程序中使用ng store时遇到问题。我的角度检查和配置如下所示。

@angular/cli: 1.2.6
node: 6.10.3
os: darwin x64
@angular/animations: 4.2.3
@angular/common: 4.2.3
@angular/compiler: 4.2.3
@angular/core: 4.2.3
@angular/forms: 4.2.3
@angular/http: 4.2.3
@angular/platform-browser: 4.2.3
@angular/platform-browser-dynamic: 4.2.3
@angular/router: 4.2.3
@angular/cli: 1.2.6
@angular/compiler-cli: 4.2.3
@angular/language-service: 4.2.3

我已取消注释 Polyfill.ts 文件中所有必需的核心js库。我正在尝试使用ng store reducer和action将状态存储到我的角度应用程序中,并且在测试时我发现它在IE 11中遇到了麻烦。

仅供参考:我已经尝试在polyfill.ts文件中导入promise,但这也没有解决问题。

编辑:以下是我的角度cli json文件和

{
 "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"project": {
 "name": "app"
},
 "apps": [
  {
  "root": "src",
  "outDir": "dist",
  "assets": [
    "assets",
    "favicon.ico"
  ],
  "index": "index.html",
  "main": "main.ts",
  "polyfills": "polyfills.ts",
  "test": "test.ts",
  "tsconfig": "tsconfig.app.json",
  "testTsconfig": "tsconfig.spec.json",
  "prefix": "rcb",
  "styles": [
    "../node_modules/normalize.css/normalize.css",
    "scss/main.scss"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.slim.js",
    "../node_modules/lscache/lscache.js",
    "thirdparty/js/datepicker.js"
  ],
  "environmentSource": "environments/environment.ts",
  "environments": {
    "dev": "environments/environment.ts",
    "prod": "environments/environment.prod.ts"
  },
  "stylePreprocessorOptions": {
    "includePaths": [
      "scss"
    ]
  }
}
],
 "e2e": {
   "protractor": {
   "config": "./protractor.conf.js"
  }
 },
"lint": [
  {
    "project": "src/tsconfig.app.json"
  },
  {
    "project": "src/tsconfig.spec.json"
  },
{
  "project": "e2e/tsconfig.e2e.json"
}
],
"test": {
  "karma": {
    "config": "./karma.conf.js"
  }
 },
"defaults": {
  "styleExt": "scss",
  "component": {}
 }
}

编辑:下面是我的package.json文件

{

      "scripts": {
        "test": "ng test",
        "lint": "ng lint",
        "e2e": "ng e2e"
      },
      "private": true,
      "dependencies": {
        "@agm/core": "^1.0.0-beta.0",
        "@angular/animations": "^4.0.0",
        "@angular/common": "^4.0.0",
        "@angular/compiler": "^4.0.0",
        "@angular/core": "^4.0.0",
        "@angular/forms": "^4.0.0",
        "@angular/http": "^4.0.0",
        "@angular/platform-browser": "^4.0.0",
        "@angular/platform-browser-dynamic": "^4.0.0",
        "@angular/router": "^4.0.0",
        "@ngrx/core": "^1.2.0",
        "@ngrx/store": "^2.2.3",
        "@ngrx/store-devtools": "^3.2.4",
        "classlist.js": "^1.1.20150312",
        "core-js": "^2.4.1",
        "jquery": "^3.2.1",
        "moment": "^2.18.1",
        "moment-timezone": "^0.5.13",
        "ng2-slim-loading-bar": "^4.0.0",
        "ngx-order-pipe": "^1.0.2",
        "normalize.css": "^7.0.0",
        "rxjs": "^5.1.0",
        "text-mask-core": "^5.0.1",
        "zone.js": "^0.8.4"
      },
      "devDependencies": {
        "@angular/cli": "^1.3.2",
        "@angular/compiler-cli": "^4.0.0",
        "@angular/language-service": "^4.0.0",
        "@types/jasmine": "2.5.45",
        "@types/moment": "^2.13.0",
        "@types/moment-timezone": "^0.2.34",
        "@types/node": "~6.0.60",
        "codelyzer": "~3.0.1",
        "enhanced-resolve": "^3.3.0",
        "jasmine-core": "~2.6.2",
        "jasmine-spec-reporter": "~4.1.0",
        "karma": "~1.7.0",
        "karma-chrome-launcher": "~2.1.1",
        "karma-cli": "~1.0.1",
        "karma-coverage-istanbul-reporter": "^1.2.1",
        "karma-jasmine": "~1.1.0",
        "karma-jasmine-html-reporter": "^0.2.2",
        "lscache": "^1.1.0",
        "protractor": "~5.1.2",
        "ts-node": "~3.0.4",
        "tslint": "~5.3.2",
        "typescript": "~2.3.3"
      },
      "browserslist": [
        "last 2 versions",
        "ie >= 11"
      ]
    }

编辑:Polyfill.ts文件

/**
     * This file includes polyfills needed by Angular and is loaded before the app.
     * You can add your own extra polyfills to this file.
     *
     * This file is divided into 2 sections:
     *   1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
     *   2. Application imports. Files imported after ZoneJS that should be loaded before your main
     *      file.
     *
     * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
     * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
     * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
     *
     * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
     */

    /***************************************************************************************************
     * BROWSER POLYFILLS
     */

    /** IE9, IE10 and IE11 requires all of the following polyfills. **/
    import 'core-js/es6/symbol';
    import 'core-js/es6/object';
    import 'core-js/es6/function';
    import 'core-js/es6/parse-int';
    import 'core-js/es6/parse-float';
    import 'core-js/es6/number';
    import 'core-js/es6/math';
    import 'core-js/es6/string';
    import 'core-js/es6/date';
    import 'core-js/es6/array';
    import 'core-js/es6/regexp';
    import 'core-js/es6/map';
    import 'core-js/es6/weak-map';
    import 'core-js/es6/set';

    /** IE10 and IE11 requires the following for NgClass support on SVG elements */
    import 'classlist.js';  // Run `npm install --save classlist.js`.

    /** IE10 and IE11 requires the following to support `@angular/animation`. */
    // import 'web-animations-js';  // Run `npm install --save web-animations-js`.


    /** Evergreen browsers require these. **/
    import 'core-js/es6/reflect';
    import 'core-js/es7/reflect';


    /** ALL Firefox browsers require the following to support `@angular/animation`. **/
    // import 'web-animations-js';  // Run `npm install --save web-animations-js`.



    /***************************************************************************************************
     * Zone JS is required by Angular itself.
     */
    import 'zone.js/dist/zone';  // Included with Angular CLI.



    /***************************************************************************************************
     * APPLICATION IMPORTS
     */

    /**
     * Date, currency, decimal and percent pipes.
     * Needed for: All but Chrome, Firefox, Edge, IE11 and Safari 10
     */
    // import 'intl';  // Run `npm install --save intl`.
    /**
     * Need to import at least one locale-data with intl.
     */
    // import 'intl/locale-data/jsonp/en';

0 个答案:

没有答案