首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE11问题Angular2(TS)中的Angular CLI项目,多边形填充不起作用

IE11问题Angular2(TS)中的Angular CLI项目,多边形填充不起作用
EN

Stack Overflow用户
提问于 2016-12-01 22:16:17
回答 1查看 9.6K关注 0票数 3

我使用的是anugular-cli 1.0.0-beta.16,它有如下所示的polyfills.ts:

代码语言:javascript
复制
// This file includes polyfills needed by Angular 2 and is loaded before
// the app. You can add your own extra polyfills to this file.
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/set';
import 'core-js/es6/reflect';

import 'core-js/es7/reflect';
import 'zone.js/dist/zone';

但是这个pollyfills文件不能在IE11上工作,它能在Chrome,火狐,EDGE上工作,我的main.ts看起来是这样的:

代码语言:javascript
复制
import "./polyfills.ts";
import {platformBrowserDynamic} from "@angular/platform-browser-dynamic";
import {enableProdMode} from "@angular/core";
import {environment} from "./environments/environment";
import {AppModule} from "./app/";

if (environment.production) {
  enableProdMode();
}

platformBrowserDynamic().bootstrapModule(AppModule);

在IE11上运行此命令会在胖箭头表达式错误时显示错误

代码语言:javascript
复制
SCRIPT1002: Syntax error

对于此位置的minifiedjs:

代码语言:javascript
复制
function arrayUnion(arr1, arr2) {
    return arr1
        .concat(arr2.filter(v => arr1.indexOf(v) === -1));
}

这是我的tsconfig.json的样子

代码语言:javascript
复制
    {
  "compilerOptions": {
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../dist/out-tsc",
    "sourceMap": true,
    "target": "es5",
    "typeRoots": [
      "../node_modules/@types"
    ]
  }
}

@Cleton这是我的tsconfig的样子

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-01 22:40:48

您的目标可能是es6,它将箭头函数编译为箭头函数:

代码语言:javascript
复制
let fn = () => console.log("hey");

编译为:

代码语言:javascript
复制
let fn = () => console.log("hey");

但是如果你以es5为目标,它会编译成:

代码语言:javascript
复制
var fn = function () { return console.log("hey"); };

似乎IE11 (或任何其他版本的explorer)的do not yet support arrow functions

如果你想支持它,你必须以es5或更低版本为目标,因为箭头函数没有Pollyfil.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40912921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档