React 找不到我要匯入的這個檔案。
我嘗試了在匯入中更改檔案路徑的所有不同版本,.js從所有嘗試中添加/洗掉,三重檢查沒有拼寫錯誤/大寫問題,并npm update嘗試了一些不同的東西。我在這里撞墻了。
我得到的主要錯誤是:
[錯誤:ENOENT:沒有那個檔案或目錄,stat '/initrd.img'] { errno: -2, code: 'ENOENT', syscall: 'stat', path: '/initrd.img' }
./src/App.js 未找到模塊:您試圖匯入專案 src/ 目錄之外的 /components/number.js。不支持 src/ 之外的相對匯入。
我想這可能是我嘗試匯入/匯出東西的方式的問題?以下是我用來破解目前所擁有的資源的資源:
mongoDB MERN 教程
geeksforgeeks 教程
應用程式.js
import logo from './logo.svg';
import './App.css';
import React, { Component } from 'react';
import { Route } from 'react-router-dom';
import Numbers from './components/number.js';
class App extends Component {
constructor(props) {
super(props)
this.state = {
buttonText: "button1"
}
this.changeWord = this.changeWord.bind(this);
}
changeWord() {
if (this.state.buttonText === "button2") {
this.setState({
buttonText: "button1"
})
}
else {
this.setState({
buttonText: "button2"
})
}
}
render() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.js</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
<Numbers />
<button className="test-button" onClick={this.changeWord}>{this.state.buttonText}</button>
</header>
</div>
);
}
}
export default App;
數字.js
import React, { Component } from "react";
import axios from "axios";
import { response } from "express";
export default class Numbers extends Component {
constructor(props) {
super(props);
this.state = {
numbers: []
};
}
componentDidMount() {
axios
.get("http://localhost:3000/record/")
.then((response) => {
this.setState({
numbers: response.data
});
console.log(this.state.numbers);
})
.catch(function(err) {
console.log(err);
});
}
render() {
return (
<div>
<h3>Numbers</h3>
<table>
<thead>
<tr>
<th>Number</th>
</tr>
</thead>
<tbody>{this.numbers()}</tbody>
</table>
</div>
);
}
}
uj5u.com熱心網友回復:
我認為問題在于您的組件 js 檔案“number.js”的命名。它應該寫成“Number.js”(大寫字母 N)
根據反應檔案,
當元素型別以小寫字母開頭時,它指的是像或這樣的內置組件,并導致傳遞給 React.createElement 的字串“div”或“span”。以大寫字母開頭的型別,如 compile to React.createElement(Foo) 并對應于在 JavaScript 檔案中定義或匯入的組件。
uj5u.com熱心網友回復:
我想到了。
我最近使用更新我的機器sudo apt-get update && sudo apt-get upgrade,由于某種原因,似乎打破了鏈接,/initrd.img并/initrd.img.old在根檔案路徑(/)。
我跑了sudo update-grub,這解決了這個問題。之后,我注意到在它(仍然)找不到之前很快/initrd.img,它會閃現一個錯誤,說它找不到 axios。
我跑了npm install axios。
現在一切正常。不確定哪個修復了它,但希望這可以為其他人節省 2 天的頭痛!
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/368423.html
標籤:javascript 节点.js 反应 MongoDB 默恩
上一篇:Javascipt在使用setTimeout()時有效,但在WordPress頁面上使用document.eventListener('DOMContentLoaded',x)時無
