首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不能在TypeScript项目中使用@faker-js/faker --未定义--但是旧的"faker“导入工作。为什么?

不能在TypeScript项目中使用@faker-js/faker --未定义--但是旧的"faker“导入工作。为什么?
EN

Stack Overflow用户
提问于 2022-09-16 00:10:30
回答 1查看 257关注 0票数 1

现在我有:

代码语言:javascript
复制
    "faker": "^5.5.3",
    "@types/faker": "^5.5.3",

在我的packages.json里。我使用5.5.3是因为项目中还有另一个依赖项(codecept)锁定在旧版本中。

https://www.npmjs.com/package/faker最初的伪装项目似乎已经被放弃了。它有一个笑话版本号,没有描述,等等。

我想使用在https://www.npmjs.com/package/@faker-js/faker上积极维护的项目

但当我尝试:

在我的"@faker-js/faker": "^5.5.3"

  • importing packages.json中的
  • :它和:import { faker } from '@faker-js/faker'; (per js,它就像faker.datatype.number(100);

一样

我得到:

代码语言:javascript
复制
Cannot read properties of undefined (reading 'datatype')
TypeError: Cannot read properties of undefined (reading 'datatype')

奇怪的是,同样的代码也适用于同事的笔记本电脑。

我做错了什么?我试过做一些事情,比如吹掉node_modules,重新开始,运行npm install,但是没有运气。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-28 19:44:05

将导入更改为import faker from '@faker-js/faker'可以解决这个问题,因为faker 5.5.3使用默认导入。

但是,您将得到一个编译器错误,因为这个版本的faker不提供它自己的类型。这个包也没有@types,而且@types/faker中的类型似乎与@faker-js/faker包不匹配。因此,您可以在没有类型的情况下执行const faker = require('@faker-js/faker)并继续操作。但是我建议升级@faker-js/faker',因为新版本的TypeScript支持是现成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73738556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档