gpt4 book ai didi

angular - 如何修复: Property 'seedrandom' does not exist on type 'Math'

转载 作者:行者123 更新时间:2023-12-03 08:52:06 24 4
gpt4 key购买 nike

我想添加seedrandom到一个 Angular 项目。我已经使用 npm 安装了它和 typescript 定义。我的 json 包具有相关条目(如下),因此我确信它安装正常,并且相关文件夹位于节点模块中。

"dependencies": {
"@types/seedrandom": "^2.4.28",
"seedrandom": "^3.0.5"
}

尽管如此,我仍然收到错误:“属性'seedrandom'在'Math'类型上不存在。”事实上,当我ng服务时控制台中抛出错误,但网络应用程序运行正常。当我执行 ng build 时,我收到错误并且构建失败。

我尝试按照 this 定义一个接口(interface)但没有帮助。而且我也盯着代码看了两天,也没有什么帮助。

  getRandomNumber(n) {

const randomNumber = new Math.seedrandom( '1234' );
return Math.round( Math.round( randomNumber() * n) );

}

更新:根据 Myk 的回答,我尝试了以下操作:

import { seedrandom } from 'seedrandom';

getRandomNumber(n) {
const randomNumber = seedrandom( '1234' );
return Mathround( Math.round( randomNumber() * n) );
}

仅出现错误:模块“../blah/node_modules/@types/seedrandom”没有导出成员“seedrandom”。

这很有趣,因为当我检查 @types/seedrandom/index.d.ts 文件时包含以下行:

export = seedrandom;
export as namespace seedrandom;

如何让seedrandom在Angular中工作?

最佳答案

根据the documentation :

Starting in version 3, when using via require('seedrandom'), the global Math.seedrandom is no longer available.

因此,如果您希望在通过 npm 安装的 Angular 应用程序中使用它,您应该直接导入该函数并使用它返回的随机数生成器:

const seedrandom = require('seedrandom');
const rng = seedrandom('<seed>');

关于angular - 如何修复: Property 'seedrandom' does not exist on type 'Math' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58192960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com