我刚刚从npm命令创建了我的应用程序,当我运行启动脚本时,应用程序抛出了这个错误。
请提供更多背景信息。如果你在react项目中使用typescript。你需要升级react和react-dom声明。npm install @types/react@latest
和npm install @types/react-dom@latest
如果你最近更新了npm 8.5+并且使用了工作区,你有两个选择:
选项A)如果可能的话,把你的包裹拿掉。Json声明你的工作空间(以及package-lock.json)。我只有一个工作空间,所以这是最简单的修复。
选项B)更新Jest以便它可以找到您的模块。我观察到NPM 8.11将在工作区文件夹和每个项目中创建一个node_modules。
具体看moduleDirectories下面的关键。
{
verbose: true,
testEnvironment: "jsdom",
moduleFileExtensions: ["js", "jsx", "ts", "tsx"],
moduleDirectories: [
// Look in current directory node_modules
path.resolve(__dirname, "node_modules"),
// Look in parent workspace node_modules
path.resolve(__dirname, "../node_modules"),
],
moduleNameMapper: {
...moduleNameMapper,
"\.(jpg|jpeg|png|gif|eot|otf|webp|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
'\.svg$': '<rootDir>/__mocks__/svgrMock.tsx',
"\.(css)$": "identity-obj-proxy"
},
transform: {
"^.+\.tsx?$": "ts-jest"
},
};