Angular8兼容IE9注意事项

1,168 阅读1分钟

一、修改tsconfig.json文件

二、引入core-js

首先用npm安装core-js

npm install core-js@2.6.9 --save

然后在src/polyfills.ts文件的顶部按需引入文件,如下所示

/** IE9, IE10 and IE11 requires all of the following polyfills. **/
import 'core-js/client/shim.min.js';
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/weak-map';
import 'core-js/es6/weak-set';
import 'core-js/es6/typed';
import 'core-js/es6/reflect';
import 'core-js/es6/promise';
import 'core-js/es7/reflect';
import 'reflect-metadata';

三、引入classlist.js

首先用npm安装asslist.js

npm install --save classlist.js

然后在src/polyfills.ts文件中按需引入文件,如下所示

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

四、如果要引入web-animations-js

要把 import 'web-animations-js' 写在 import 'zone.js/dist/zone'后面

五、src/polyfills.ts文件如下,请注意引入依赖包顺序

六 IE下的路由问题,ie9等低级浏览器不支持PathLocationStrategy 策略

@NgModule({
  imports: [RouterModule.forRoot(routes, {
    useHash:!Boolean(history.pushState)
  })],
  exports: [RouterModule]
})