找不到变量:Safari中的BigInt64Array

问题描述

最近,我的Angular 8网络应用程序停止在Safari上运行(停留在index.html页面上)。它在调试器中引发错误,指出:找不到变量:BigInt64Array 我没有通过npm升级任何东西,所以我不确定为什么突然开始发生这种情况。 我尝试将tsconfig.js中的target从“ es2015”更改为“ ES5”。我也将Safari >= 10添加到了我的浏览器列表中,但是没有运气。 有任何想法吗? 谢谢!

enter image description here

package.json

{
  "name": "webapi","version": "0.0.0","scripts": {
    "ng": "ng","start": "ng serve","build": "ng build","build:ssr": "ng run WebApi:server:dev","test": "ng test","lint": "ng lint","e2e": "ng e2e"
  },"private": true,"dependencies": {
    "@angular/animations": "8.2.12","@angular/cdk": "^8.2.3","@angular/common": "8.2.12","@angular/compiler": "8.2.12","@angular/core": "8.2.12","@angular/forms": "8.2.12","@angular/material": "^8.2.3","@angular/platform-browser": "8.2.12","@angular/platform-browser-dynamic": "8.2.12","@angular/platform-server": "8.2.12","@angular/router": "8.2.12","@babel/compat-data": "^7.8.0","@fortawesome/angular-fontawesome": "^0.5.0","@fortawesome/fontawesome-svg-core": "^1.2.28","@fortawesome/free-solid-svg-icons": "^5.13.0","@ngu/carousel": "^1.5.5","@nguniversal/module-map-ngfactory-loader": "8.1.1","angular-cd-timer": "^1.0.0","aspnet-prerendering": "^3.0.1","bootstrap": "^4.4.1","core-js": "^3.3.3","deep-copy-ts": "^0.5.0","font-awesome": "^4.7.0","hammerjs": "^2.0.8","jquery": "^3.4.1","ngx-spinner": "^9.0.2","oidc-client": "^1.9.1","popper.js": "^1.16.1","rxjs": "^6.5.3","zone.js": "0.9.1"
  },"devDependencies": {
    "@angular-devkit/build-angular": "^0.803.24","@angular/cli": "^8.3.14","@angular/compiler-cli": "8.2.12","@angular/language-service": "8.2.12","@types/jasmine": "~3.4.4","@types/jasminewd2": "~2.0.8","@types/node": "~12.11.6","codelyzer": "^5.2.0","jasmine-core": "~3.5.0","jasmine-spec-reporter": "~4.2.1","karma": "^4.4.1","karma-chrome-launcher": "~3.1.0","karma-coverage-istanbul-reporter": "~2.1.0","karma-jasmine": "~2.0.1","karma-jasmine-html-reporter": "^1.4.2","typescript": "3.5.3"
  },"resolutions": {
    "@babel/preset-env": "7.5.5"
  },"optionalDependencies": {
    "node-sass": "^4.12.0","protractor": "~5.4.2","ts-node": "~8.4.1","tslint": "~5.20.0"
  }
}


tsconfig.json

{
  "compileOnSave": false,"compilerOptions": {
    "baseUrl": "./","module": "esnext","outDir": "./dist/out-tsc","sourceMap": true,"declaration": false,"moduleResolution": "node","emitDecoratorMetadata": true,"experimentalDecorators": true,"target": "ES5","typeRoots": [
      "node_modules/@types"
    ],"lib": [
      "es2017","dom"
    ]
  }
}

浏览器列表

# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers
# For additional information regarding the format and rule options,please see:
# https://github.com/browserslist/browserslist#queries
# For IE 9-11 support,please uncomment the last line of the file and adjust as needed
> 0.5%
last 2 versions
Firefox ESR
ios_saf >= 10
Safari >= 10
not dead
# IE 9-11

解决方法

结果是"deep-copy-ts": "^0.5.0",是问题所在。该软件包需要BigInt64Array,这是Safari上的重大更改。删除后,它便开始工作。