首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在IE中运行Angular 5应用程序,而不使用"import 'core-js/es6/reflect‘和import 'core-js/es7/reflect'“

在IE中运行Angular 5应用程序,可以通过以下步骤实现,而不使用"import 'core-js/es6/reflect‘和import 'core-js/es7/reflect'":

  1. 首先,确保已经安装了core-js库。可以通过运行以下命令来安装它:
代码语言:txt
复制

npm install core-js@2.5.7 --save

代码语言:txt
复制
  1. 在polyfills.ts文件中,找到以下两行代码:
代码语言:typescript
复制

import 'core-js/es6/reflect';

import 'core-js/es7/reflect';

代码语言:txt
复制

将它们注释掉或删除。

  1. 在polyfills.ts文件中,找到以下代码块:
代码语言:typescript
复制

import 'zone.js/dist/zone';

代码语言:txt
复制

在这行代码的上方添加以下代码:

代码语言:typescript
复制

import 'core-js/es/reflect';

代码语言:txt
复制

这将引入core-js库中的reflect模块。

  1. 在tsconfig.json文件中,找到以下代码块:
代码语言:json
复制

"target": "es5",

"lib": [

代码语言:txt
复制
 "es2017",
代码语言:txt
复制
 "dom"

]

代码语言:txt
复制

确保"target"属性的值为"es5",并且"lib"属性中包含"es2017"和"dom"。

  1. 在tsconfig.app.json文件中,找到以下代码块:
代码语言:json
复制

"compilerOptions": {

代码语言:txt
复制
 "target": "es5",
代码语言:txt
复制
 "lib": [
代码语言:txt
复制
   "es2017",
代码语言:txt
复制
   "dom"
代码语言:txt
复制
 ]

}

代码语言:txt
复制

确保"target"属性的值为"es5",并且"lib"属性中包含"es2017"和"dom"。

  1. 最后,在Angular应用程序的根目录下运行以下命令来构建应用程序:
代码语言:txt
复制

ng build --prod

代码语言:txt
复制

这将使用修改后的配置构建应用程序,并生成适用于IE的代码。

这样,你就可以在IE中运行Angular 5应用程序了,而不使用"import 'core-js/es6/reflect‘和import 'core-js/es7/reflect'"。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Babel是什么?Babel到底可以用来干嘛___一文带你从零开始认识Babel

本文默认你对es6es7等有所涉足,我们写es6+语法的时候是不是很方便,什么promise、async await`,可是es6+语法写的虽然很酸爽,但是浏览器他兼容啊,你想想你写的代码浏览器上跑起来...转换新的 API,例如Iterator、Generator、Set、Maps、Proxy、Reflect、Symbol、Promise 等全局对象,以及一些定义全局对象上的方法(比如 Object.assign...不然就使用手动导入各个polyfill的方式。 **webpack我们可以将@babel/polyfill@babel/preset-env配合使用!...虽然这对于应用程序或命令行工具来说可能是好事,但如果你的代码打算发布为供其他人使用的库,或你无法完全控制代码运行的环境,则会成为问题。...因为babel编译es6到es5的过程,babel-plugin-transform-runtime这个插件会自动polyfill es5不支持的特性,这些polyfill包就是babel-runtime

1.9K10

入门babel,我们需要了解些什么

什么是babel Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前旧版本的浏览器或其他环境。...比如把箭头函数转为普通的function,而对于ES6新引入的全局对象是默认不做处理的,如Promise, Map, Set, Reflect, Proxy等。...简单地说,就是normal模式转换出来的代码更贴合ES6风格,更严谨;loose模式更像我们平时的写法。...自己翻来覆去也看过好几遍babel的文档了,一直觉得收获不大,也没理解到什么东西,与webpack配合使用的过程,还是有很多疑惑没搞懂的。其实错自己不该在复杂的项目中直接去实践。...最近重新学习webpackbabel的过程,我觉得,对于不是很懂的东西,我们不妨从写一个hello world开始,因为不是每个人都是理解能力超群的天才……

69320

从零学脚手架(四)---babel

ES6的枷锁 细心的朋友可以知道,之前打包编译测试都是使用简单的ES5特性, 并没有使用ES6(ES2015+)特性(import除外) 这是因为webpack本身不会处理代码ES6(ES2015...开发人员基本上使用的都是新版浏览器,所以需要具有一个不支持ES6API(类型、函数)的浏览器。 一般ES6的新特性,都已经不再支持IE浏览器了。所以IE浏览器是一个天然的测试对象。...直接使用core-jsregenerator-runtime需要在代码手动引用。...image.png 这时候使用IE9运行代码可以运行成功,也就是说ES6 API(类型、函数)被成功替代了。...虽然打包代码压缩,但也不应该这个大小 代码仅写了两个函数。那么原因大概是引入core-jsregenerator-runtime导致。 core-jsES6 API(类型、函数)的垫片。

1.2K30

babel实践:真实gulp项目支持ES6转译ES5的跳坑指北

,单纯使用es5jQuery,已经开始影响开发效率了。...虽然通过相关设计模式的使用,一定程度上减轻了js逻辑处理的复杂度,但看着有更佳实践的ES6语法不能用只能白流口水,实在是不能忍,尤其是口水已久的ES6的Promise对象,简直异步最爱,也是我这次优化最想拿下的目标...目前对于ES5语法的支持基本都没有问题,但是对于ES6乃至ES7甚至更高版本的JS语法,支持还远没有完善。...;新增 preset 配置,babel5会默认转译ES6jsx语法,babel6转译的语法都要在perset配置,preset简单说就是一系列plugin包的使用 其中babel-core是核心模块...唔,写到这里,看下最后的转译JS代码: //es6模块规范 import _Object$assign from 'babel-runtime/core-js/object/assign'; import

1.7K20

es6 转es5_es6转换es5

为什么要es6转es5? 答:es6代码老版本的浏览器无法执行。 怎么将es6代码转为es5代码,让其老版本的浏览器执行?...答:使用babel模块,babel是一个使用非常广泛的es6转换器,这就意味着我们可以将es6代码转为es5代码,从而在老版本的浏览器执行。...,都必须先写好.babelrc,即安装好babel-preset-latest并配置好.babelrc才能正常使用 但是babel转化器默认只会新的JavaScript句法,转换新的API,比如我们要学的...如果想让这个方法运行,可以使用core-jsregenerator-runtime(后者提供generator函数的转码),为当前环境提供一个垫片 实例: 未使用垫片时: var arr = [1,...使用步骤: 安装垫片 npm install --save-dev core-js regenerator-runtime 需要转化的文件中加入这两句 require('core-js');

1K10

3-11-12 使用 babel 处理 es6 语法

可以看这里:http://kangax.github.io/compat-table/es6/ 当然,要保证 es6 或者 es7 的语法进行源码编写后完全可用,我们可以用 babel 将其转成 es5...Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前旧版本的浏览器或其他环境。...关于 babel 的使用方法原理都可以单列一个系列了,在此我们只讲述 babel 如何结合 webpack 使用。 2. 使用场景 我们来看一下,使用 es6 语法编写的代码,在编译后是如何的。...image.png 发现 index.js 的内容被原封不动的输出了,但是 es6 语法某些低版本浏览器上并不支持,为了保证其兼容性,我们需要将其转为 es5。 3....image.png 文件大小基本没变,es6 的箭头函数成功转成了 es5 的function。非常好~但是,promise map 函数是 es6 才有的,es5 并没有啊。

62420

webpack 学习笔记系列03-babel

babel 可以通过配置 browserslist 来针对不同的浏览器组合,生成不同的适配代码。...@babel/preset-env 3.1 polyfill / runtime babel 只负责语法的转换,如 es6 转 es5,但部分对象、方法实际浏览器是不支持的,所以需要借助 polyfill...如 polyfill,首先安装: $ npm i @babel/polyfill 然后文件内直接通过 import 或 require 引入: // polyfill import '@babel/polyfill...可以指定 core-js 的版本, 如果 "corejs": 3, 则 import '@babel/polyfill' 需要改成: import 'core-js/stable'; import 'regenerator-runtime...5. babel polyfill 的最佳实践 babel 每个需要转换的代码前面都会插入一些 helpers 代码,不是通过 import 的方式,可能会导致重复。

1.7K210

TS 设计模式05 - 装饰者模式

简介 oop ,继承是实现多态最简单的方案。同一类的对象会有不同表现时,我们基于此基类去写派生类即可。但有时候,过度使用继承会导致程序无法维护。...一个人可以选择穿 T-shirt,裤子,裙子,外套等等,它的顺序搭配是固定的,如果使用继承,我们对每种组合都需要去定义一个类,比如穿裤子的人,穿裙子的人,穿裤子裙子的人,先穿裤子再穿外套的人......, ember-decorators, Angular, Stencil, MobX decorators 等。...ES7 的 decorator 同样借鉴了这个语法糖,不过依赖于 ES5 的 Object.defineProperty 方法来实现。 下面我们用 TS 的装饰器来进行讲解。...这是因为,在装饰器应用于一个属性描述符时,它联合了getset访问器,不是分开声明的。

1.2K10

前端科普系列(4):Babel —— 把 ES6 送上天的通天塔

第一节的《Web:一路前行一路忘川》也提到过,ES2015 从制定到发布历经了十几年,引入了很多的新特性以及新的机制,浏览器对 ES6 的支持进度远远赶不上前端开发小哥哥们使用 ES6 的热情,于是矛盾就日益显著...注意我的用词哈,我说的不是转化为 ES5 ,因为不同类型以及不同版本的浏览器对 ES6 新特性的支持程度都不一样,对于浏览器已经支持的部分,Babel 可以转化,所以 Babel 会依赖浏览器的版本,...他 2014 年发布了一款 JavaScript 的编译器 6to5。从名字就能看出来,它主要的作用就是将 ES6 转化为 ES5。...如果源码中使用了不在 @babel/preset-env 的语法,会报错,手动 plugins 增加即可。 例如 ES6 明确规定,Class 内部只有静态方法,没有静态属性。...安装 core-js npm install --save core-js 注意 core-js使用 --save 方式安装,因为它是需要被注入到源码的,执行代码前提供执行环境,用来实现 built-in

86050

Angular 2 JavaScript 环境配置(上)

本章节使用的是 JavaScript 来创建 Angular 的应用,当然你也可以使用 TypeScript Dart 来创建 Angular 应用 。...": "2.0.0", "@angular/router": "3.0.0", "@angular/upgrade": "2.0.0", "core-js": "^2.4.1...---- 创建 Angular 组件 组件(Component)是构成 Angular 应用的基础核心,一个组件包装了一个特定的功能,并且组件之间协同工作以组装成一个完整的应用程序。...core命名空间ng.core的ComponentClass方法创建了一个名为AppComponent的可视化组件。...Component方法接受一个包含两个属性的配置对象,Class方法是我们实现组件本身的地方,Class方法我们给组件添加属性方法,它们会绑定到相应的视图行为。

45010

语法降级与Polyfill:消灭低版本浏览器兼容问题

运行时基础库:代表库包括core-jsregenerator-runtime。 编译时工具的作用是代码编译阶段进行语法降级及添加 polyfill 代码的引用语句,如下。...import "core-js/modules/es6.set.js" 由于这些工具只是编译阶段用到,运行时并不需要,我们需要将其放入package.json的devDependencies。...运行时基础库是根据 ESMAScript官方语言规范提供各种Polyfill实现代码,主要包括core-jsregenerator-runtime两个基础库,不过 babel 也会有一些上层的封装...实际上,Babel 所做的事情就是将你的import "core-js"代码替换成了产物的这些具体模块的导入代码。...Polyfill,后者是运行时基础库,封装了core-js、regenerator-runtime各种语法转换用到的工具函数。

1.7K30

Babel:下一代Javascript语法编译器

以便能够低版本的浏览器或者其它环境平稳运行。...的环境下(支持COMMONJS),如果使用ES Module的语法(import、export),然后将其设置为false,你会发现入口文件没有被编译,所有这里把它去掉了。...但是ECMAScript它是一个语法标准,不同的JS引擎以及浏览器对它的实现支持又不大一样,所有我们不能够保证使用高版本的语法它能够完美在各平台运行,这也就是babel的作用体现。...解决了es6语法全局对象或者全局对象方法编译不足的情况。 既然transform-runtime只是解决es6,那我要是用es7、es8、es9甚至更高怎么办呢?...babel-polyfill , core-js、regenerator-runtime 为什么推荐全局安装脚手架? 版本更新迭代太快了,安装在项目本地易升级。

83030
领券