我在nodejs代码中使用动态导入来导入一些模块。例如:
const initialize = (await import('./init')).default;
await initialize();但是当我运行jest时,它抛出了以下错误:
import sequelize from 'sequelize';
^^^^^^
SyntaxError: Cannot use import statement outside a module我假设ts-jest不会转换/转译动态导入的代码。
我的jest.config.js文件包含:
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
rootDir: './src/test',
globalSetup: '../setup/test_setup.ts',
};请建议如何解决此问题
发布于 2021-11-13 09:30:45
运行globalSetup代码时出现错误。不确定ts-jest是否不能转换globalSetup代码。
为了解决这个问题,我在test_setup.ts文件(包含globalSetup代码)的顶部添加了以下内容:
require('ts-node').register({ transpileOnly: true });(https://github.com/kulshekhar/ts-jest/issues/411#issuecomment-850944698)
您需要安装ts-node才能使其正常工作。
https://stackoverflow.com/questions/69952792
复制相似问题