D3v5函数在开发模式下工作正常,但在生产模式下抛出运行时错误
错误TypeError :(无效0)不是函数
键入脚本代码
import { Component } from '@angular/core';
import {timeFormat} from 'd3-time-format';
...
export class AppComponent {
constructor(){
var formatTime = timeFormat("%B %d, %Y");
console.log('Time parser :: ', formatTime(new Date))
}
}
Package.json
"dependencies": {
"@angular/animations": "~8.1.1",
"@angular/common": "~8.1.1",
"@angular/compiler": "~8.1.1",
"@angular/core": "~8.1.1",
"@angular/forms": "~8.1.1",
"@angular/platform-browser": "~8.1.1",
"@angular/platform-browser-dynamic": "~8.1.1",
"@angular/router": "~8.1.1",
"@types/d3": "^5.7.2",
"d3": "^5.13.1",
"rxjs": "~6.4.0",
"tslib": "^1.9.0",
"zone.js": "~0.9.1"
},
tsconfig.json-还尝试根据Error in d3.js after upgrading to Angular 8
更新目标{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
**"target": "es5",**
"typeRoots": [
"node_modules/@types"
],
"lib": ..
},
"angularCompilerOptions": ..
}
任何建议或线索将不胜感激。
谢谢
答案 0 :(得分:2)
对于遇到类似问题的任何人,我都可以通过将d3撞到以下版本上来使其正常工作
"dependencies": {
"@angular/animations": "~8.2.14",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"@types/d3": "^5.7.2",
"d3": "^5.14.0",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
答案 1 :(得分:1)
从更新@ angular-devkit / build-angular版本后
“ @ angular-devkit / build-angular”:“〜0.801.2”
到
“ @ angular-devkit / build-angular”:“ ^ 0.803.17”
为我工作。