我创建了一个名为.babelrc
包含以下内容⬇:
{
"presets": ["@babel/preset-env"]
}
然后我配置了jest.config.js
如下图⬇
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
module.exports = {
transform: {
'^.+\\.ts$': 'ts-jest',
'^.+\\.js$': 'babel-jest',
'^.+\\.mjs$': 'babel-jest',
},
moduleDirectories: ['node_modules', '<rootDir>/src'],
moduleNameMapper: {
'@controllers/(.*)': '<rootDir>/src/controllers/$1',
'@middleware/(.*)': '<rootDir>/src/middleware/$1',
'@models/(.*)': '<rootDir>/src/models/$1',
'@routes/(.*)': '<rootDir>/src/routes/$1',
'@types/(.*)': '<rootDir>/src/types/$1',
'@util/(.*)': '<rootDir>/src/util/$1',
}
};
然后我配置了 tsconfig.json,如下所示⬇:
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"baseUrl": "src",
"paths": {
"@util/*": ["util/*"]
},
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"skipLibCheck": true,
"types": ["jest"]
}
}
感谢 Benjamin Drury 和@Ashok 的大力支持。