我正在使用角8和math.js库进行大数字操作。
我只有一个更新版本的math.js,从5.4.0到6.2.3。
我以这种方式在组件中使用math.js:
import * as mathjs from 'mathjs';
constructor() {
mathjs.config({ number: 'BigNumber', precision: 128 });
}
更新后突然出现新错误。
错误:全局配置是只读的。如果要更改默认配置,请创建mathjs实例。示例:
从‘mathjs’导入{ create,all };
const mathjs = create(all);
mathjs.config({ number:'BigNumber‘});
我尝试过import { create, all } from 'mathjs
,但是这些方法根本不存在。
解决这个问题的方法是什么?
发布于 2019-11-08 08:07:49
过了一段时间,我终于找到了解决办法。
首先,我需要删除行:
import * as mathjs from 'mathjs';
因为我们需要用这个名称创建变量,这将是具有新配置的mathjs的新实例。
import { create, all, MathJsStatic } from 'mathjs';
private mathjs: Partial<MathJsStatic>;
constructor() {
this.mathjs = create(all, { number: 'BigNumber', precision: 128 });
}
如果整个应用程序都需要相同的mathjs配置,那么最好的方法是创建一个服务并在任何地方使用相同的实例。
发布于 2019-11-07 10:14:55
不确定是否解决了问题,但根据错误,您应该创建一个新实例并在后面使用,如下所示-
import { create, all } from 'mathjs';
const mathjs = new create(all);
mathjs.config({ number: 'BigNumber' });
https://stackoverflow.com/questions/58746399
复制相似问题