我没有任何问题,然后昨天我运行了npm update,有些东西坏了,我无法弄清楚。
在我的源代码类型脚本JSX文件的顶部,我有以下几行:
import * as ReactDOM from 'react-dom/client';
import * as React from 'react';
这是解析错误首次出现在Intellisense中的地方,其中“react”以红色下划线,以及以下悬停标记:
"Cannot find module 'react' or its corresponding type declarations.ts(2307)".
如果我运行typescript编译器,错误似乎是
"error TS2686: 'React' refers to a UMD global, but the current file is a module. Consider adding an import instead."
这些错误不会出现在每个文件上,只会出现在ReactDom.createRoot().render()主文件中包含React组件的地方。
当我将“explainFiles”设置为true时,TypeScript编译器正确地输出react和react-dom模块以及用户导入文件--这与Intellisense无法找到它们的消息不符。
当我将“listFiles”设置为true时,tsc将输出我导入的所有正确的@types文件。
VS Code about:
Version: 1.76.2 (user setup)
Commit: ee2b180d582a7f601fa6ecfdad8d9fd269ab1884
Date: 2023-03-14T17:55:54.936Z
Electron: 19.1.11
Chromium: 102.0.5005.196
Node.js: 16.14.2
V8: 10.2.154.26-electron.0
OS: Windows_NT x64 10.0.19044
Sandboxed: Yes
package.json:
{
"name": "test-webpacking",
"version": "0.1.0",
"description": "",
"main": "test.js",
"typings": "test.d.ts",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "basic developer",
"license": "ISC",
"devDependencies": {
"@types/react": "^18.0.28",
"@types/react-dom": "^18.0.11",
"css-loader": "^6.7.3",
"style-loader": "^3.3.2",
"webpack": "^5.76.2",
"webpack-cli": "^4.10.0",
"webpack-dev-server": "^4.13.1"
},
"dependencies": {
"html-webpack-plugin": "^5.5.0",
"mini-css-extract-plugin": "^2.7.5",
"prop-types": "^15.8.1",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
}
tsconfig.json:
{
"compilerOptions": {
"outDir":"src/js",
"target": "es6",
"lib": ["dom"],
"jsx": "react",
"module": "ES2021"
"moduleResolution": "node",
"isolatedModules": true,
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
}
}
TypeScript配置设置“moduleResolution”已经设置为node,所以这对我来说不是问题。此外,重新启动VS Code,计算机也没有解决这个问题。
在编辑TypeScript文件时,编辑器的底部显示其使用TypeScript JSX。
我尝试删除node_modules文件夹沿着package-lock.json文件,并运行Node包管理器安装,结果相同。
我尝试将TypeScript甚至Node更新到最新版本,但都无济于事。
更新:根据@nekooee的回复,我尝试暂时解决我的问题。我从git repo恢复了package-lock.json和package.json文件并执行
npm install --save-exact
但 typescript 错误仍然存在。
我降级了react,@types/react,react-dom,@types/react-dom和TypeScript,没有成功,然后重新升级,但是tsc输出的错误改变了,现在我也有一个全局重新声明错误!
1条答案
按热度按时间b1zrtrql1#
我今天在更新Typescript到v5后遇到了同样的问题。我不知道这是不是一个bug。我在导入类星体时也遇到了错误。无论如何,我将Typescript降级到4.9.5版本以找到更多关于此的文档,我的问题得到了解决。