javascript - typescript 使用 dotenv 和 jest 抛出 configure not a function 错误
问题描述
我正在尝试将 dotenv 和 jest 一起使用,并立即遇到错误。
一个测试文件,tests/authenticationt.test.ts
只有
require('dotenv').configure();
足以导致此错误(无论是否存在测试,它都会抛出此错误):
PS C:\Users\rj\code\BGA.ts> npm run test
Debugger attached.
> @ test C:\Users\rj\code\BGA.ts
> jest
Debugger attached.
FAIL tests/authentication.test.ts
● Test suite failed to run
TypeError: require(...).configure is not a function
> 1 | require('dotenv').configure();
| ^
2 |
at Object.<anonymous> (tests/authentication.test.ts:1:31)
at TestScheduler.scheduleTests (node_modules/@jest/core/build/TestScheduler.js:333:13)
jest.config.js
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
modulePaths: [
"."
],
};
包.json
{
"scripts": {
"test": "jest"
},
"devDependencies": {
"@types/jest": "^26.0.23",
"dotenv": "^10.0.0",
"jest": "^27.0.4",
"ts-jest": "^27.0.3",
"typescript": "^4.3.2"
},
"dependencies": {
"@types/puppeteer": "^5.4.3"
}
}
tsconfig.json
{
"compilerOptions": {
"target": "es2017",
"module": "commonjs",
"strictNullChecks": true,
"outDir": "build",
"lib": [
"es2017",
"DOM"
],
},
"include": ["src/**/*"]
}
额外细节
我无法找到与此错误匹配的 stackoverflow 问题;但是,这是一个基本的设置问题。这是在 Windows 10 机器上,我正在通过 powershell 触发测试。dotenv 适用于我的其他打字稿文件(即这只是开玩笑的问题)。
解决方案
尝试require('dotenv').config()
推荐阅读
- asp.net-mvc - 如何处理不存在的会话变量?
- c++ - 将 .txt 文件读入结构数组
- mysql - 找不到包 libmysqlclient-dev
- java - JWT 是否应该是一个单独的身份验证微服务,而不是与后端业务逻辑坐在一起?
- javascript - 如何在 react-bootstrap 中更改我的 5 个选项卡之一的颜色?
- node.js - find 和 findone 给我模型内容而不是记录
- c# - 从 .NET Core 将 JSON 文件批量上传/导入到 Azure Cosmos DB
- rust - 如何在一行中从算术创建字符串切片?
- python - Python elif not working as expected for string find
- mysql - 谷歌云控制台(Appengine)中的Mysql实例崩溃