我有一个我要转换为使用打字稿的React应用
但是出现以下错误:InvalidCharacterError: Failed to execute 'createElement' on 'Document': The tag name provided ('/static/media/index.c6592bb6.ts') is not a valid name.
这个错误甚至意味着什么?看起来好像不喜欢打字稿扩展名
任何想法如何解决?
答案 0 :(得分:3)
就我而言,我正在构建自己的Web应用程序,并且在IDE IntelliJ中创建了一个JavaScript文件,在那里一切都很好。但是在该文件夹中,后缀“ .js”丢失了,因此当我在该终端中使用“ npm run dev”命令时,它找不到我构建的文件。
如果对您来说一样,那么只需折叠并添加后缀即可。然后解决了
我认为这是IntelliJ中的错误,希望他们以后可以修复。
答案 1 :(得分:0)
这意味着您有尝试执行此操作的代码:
document.createElement("/static/media/index.c6592bb6.ts")
...直接或间接。由于/static/media/index.c6592bb6.ts
不是有效的标签名称(例如div
或span
),因此失败。
答案 2 :(得分:0)
不确定这是否有帮助,但是我有相同的错误消息,并且标记了以下内容:
ReactDOM.render ( <App />, document.getElementById('root'));
对我来说,这是一个简单的错误(已经有人提到过),没有正确扩展名的文件。在我的情况下,是SearchBox子级保存为文本文件,而不是“ SearchBox.js”。在您的情况下,它将是“索引”文件。当然,我对此是完全陌生的,并且仍在学习中,只是以为我会分享,因为阅读以前对您问题的回答可以帮助我解决问题!
答案 3 :(得分:0)
对我来说,问题是我试图渲染ts文件。 React无法从ts文件“创建元素”。 TS文件需要转换为JS。我以为我的babel装载机配置正确,但事实并非如此。 babel加载程序未检查ts或tsx文件。
答案 4 :(得分:0)
首先,请检查您的源文件夹或公用文件夹中是否存在文件,并且没有正确的扩展名,例如“
索引
”为其添加适当的扩展名或将其删除。
答案 5 :(得分:0)
我收到此错误。碰巧js文件夹的名称末尾有空格。似乎React无法识别文件夹/文件名中的空格。
答案 6 :(得分:0)
我也遇到了这个错误,我看不到解决方案中描述的错误,这是我在Route组件分配中使用引号引起的。
async postUpdate(req, res, next){
// find the post by id
let post = await Post.findById(req.params.id);
console.log(req.body);
// check if there's any images for deletion
//eval(require('locus'));
if(req.body.deleteImages && req.body.deleteImages.length) {
删除引号解决了这个问题。
<Route component="{ NotFound }" />
答案 7 :(得分:0)
以防万一以前没有指定它,我在Home文档中也遇到了同样的问题,这是因为我使用了它:
<Route path="/" component="{Home}" />
代替这个
<Route path="/" component={Home} />
请注意引号。希望这对某人有帮助。
答案 8 :(得分:0)
就我而言,我的App.js中出现错误。这样的App.js在路由路径上的名称错误,因此我必须更正路径名称并解决了我的错误。
答案 9 :(得分:0)
就我而言,它只是导入这样的资产
import { ReactComponent as PaintIcon } from "./assets/paint.svg";
代替
import PaintIcon from "./assets/paint.svg";
谢谢。
答案 10 :(得分:-1)
确保在文件名和导入时添加了 .js