首页
学习
活动
专区
工具
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

    本文默认你对es6、es7等有所涉足,我们在写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

    2.2K10

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

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

    72620

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

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

    1.3K30

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

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

    1.9K20

    es6 转es5_es6转换es5

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

    1.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 并没有啊。

    65820

    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 的装饰器来进行讲解。...这是因为,在装饰器应用于一个属性描述符时,它联合了get和set访问器,而不是分开声明的。

    1.2K10

    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中的Component和Class方法创建了一个名为AppComponent的可视化组件。...Component方法接受一个包含两个属性的配置对象,Class方法是我们实现组件本身的地方,在Class方法中我们给组件添加属性和方法,它们会绑定到相应的视图和行为。

    46410

    前端科普系列(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

    90450

    Babel:下一代Javascript语法编译器

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

    86230

    一些你需要掌握的 tsconfig.json 常用配置项

    target 支持的值有:es3、es5、es6(也叫 es2015)、es2016 一直到 es2022、然后还有 esnext。没有 es7 这种东西,你得用 es2016。...这些值是大小写敏感的,可以是 es5、ES5,或大小写混杂。 通常来说前端项目会使用 es5。...其实写成 src 也可以,它和 ./src 是等价的。 如果你不设置 baseUrl,模块文件 import 需要使用相对路径,或绝对路径(不是针对项目根目录的绝对路径,而是完整的路径)。...如果不设置它,编译后的文件就会和源文件混杂在一起。通常我们会将 outDir 设置为 "./dist"。...types 配置 可指定只使用哪些全局类型声明,而不是 node_modules/@types 下所有的类型声明。

    1.6K10
    领券