找不到模块 'ts-jest/dist/config/config-set'



我正试图在vite+vue3+typescript项目中使用jest。不幸的是,jest继续失败,并显示"找不到模块"的jest/dist/config/config-set消息。

文件'ts-jest/dist/config/config-set'在我的nodeModules中不存在,但我不知道如何安装它。我希望这是解决这个错误的最简单的方法。

这是我的包.json配置:

"dependencies": {
"@types/jest": "^29.1.0",
"@vue/composition-api": "^1.7.1",
"@vue/test-utils": "^2.0.0-rc.18",
"babel-jest": "27.5.1",
"fuzzysort": "^2.0.1",
"jest": "^29.1.1",
"ts-jest": "^29.0.3",
"vue": "^3.2.37"
},
"devDependencies": {
"@typescript-eslint/eslint-plugin": "^5.38.1",
"@typescript-eslint/parser": "^5.38.1",
"@vitejs/plugin-vue": "^3.1.0",
"@vue/eslint-config-typescript": "^11.0.2",
"@vue/vue3-jest": "27.0.0",
"eslint": "^8.22.0",
"eslint-plugin-vue": "^9.5.1",
"sass": "^1.55.0",
"sass-loader": "^13.0.2",
"typescript": "^4.8.4",
"vite": "^3.1.0",
"vue-tsc": "^0.40.4"
},
"moduleDirectories": [
"node_modules",
"src"
]

jest.config.js:

module.exports = {
moduleFileExtensions: [
'js',
'ts',
'json',
'vue'
],
transform: {
'^.+\.ts$': 'ts-jest',
'^.+\.vue$': '@vue/vue3-jest'
},
testMatch: [
'**/(src)/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)',
],
}

还有tsconfig.json

{
"compilerOptions": {
"target": "ESNext",
"useDefineForClassFields": true,
"module": "ESNext",
"moduleResolution": "Node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"isolatedModules": true,
"esModuleInterop": true,
"lib": ["ESNext", "DOM"],
"types": ["vite/client", "@types/jest"],
"skipLibCheck": true
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json"}]
}

它适用于:

软件包.json

{
"name": "MerxBiblio",
"version": "0.0.0",
"scripts": {
"dev": "vite",
"build": "vue-tsc --noEmit && vite build",
"serve": "vite preview",
"test": "jest src"
},
"dependencies": {
"fuzzysort": "^2.0.1",
"vue": "^3.2.16"
},
"devDependencies": {
"@types/jest": "^27.0.2",
"@vitejs/plugin-vue": "^1.9.3",
"@vue/test-utils": "^2.0.0-rc.15",
"@vue/vue3-jest": "^27.0.0-alpha.1",
"jest": "^27.2.5",
"ts-jest": "^27.0.5",
"typescript": "^4.4.3",
"vite": "^2.6.4",
"vue-tsc": "^0.3.0",
"sass": "^1.55.0",
"sass-loader": "^13.0.2"
}
}

jest.config.js

moduleFileExtensions: [
'js',
'ts',
'json',
'vue'
],
transform: {
'^.+\.ts$': 'ts-jest',
'^.+\.vue$': '@vue/vue3-jest'
},
testEnvironment: "jsdom"

tsconfig.json:

{
"compilerOptions": {
"target": "esnext",
"useDefineForClassFields": true,
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"jsx": "preserve",
"sourceMap": true,
"resolveJsonModule": true,
"esModuleInterop": true,
"lib": ["esnext", "dom"],
"types": ["@types/jest"]
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"]
}

最新更新