我试图在vite+vue3+typescript项目中使用jest。不幸的是,“无法找到模块”ts- jest /dist/config/config-set‘消息继续失败。
文件ts-jest/dist/config/config-set‘在我的nodeModules中不存在,但我不知道如何安装它。这将是解决这个问题的最简单的方法,我希望。
下面是我的package.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"}]
}发布于 2022-09-30 06:39:33
它与以下方面合作:
package.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"]
}https://stackoverflow.com/questions/73898767
复制相似问题