reactjs - 新的 React 项目 create-react-app 打开到 /public/index.html 而不是 App.js
问题描述
我是新来的反应,并试图让几个教程工作。这些是我遵循的步骤:
C:\React-App> npm install -g create-react-app
C:\React-App> npx create-react-app my-app
C:\React-App> cd my -app
C:\React-App\my-app> npm run build
C:\React-App\my-app> npm start
当我在浏览器中打开http://localhost:3000/时,我得到一个白页,当我查看源代码时,我看到源代码来自 /public/index.html
我所有的教程都表明我应该看到来自 App.js 的代码。
我究竟做错了什么?
应用程序.js
import React from 'react';
import logo from './logo.svg';
import './App.css';
function App() {
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>
</header>
</div>
);
}
export default App;
/public/index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta
name="description"
content="Web site created using create-react-app"
/>
<link rel="apple-touch-icon" href="%PUBLIC_URL%/logo192.png" />
<!--
manifest.json provides metadata used when your web app is installed on a
user's mobile device or desktop. See https://developers.google.com/web/fundamentals/web-app-manifest/
-->
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
<!--
Notice the use of %PUBLIC_URL% in the tags above.
It will be replaced with the URL of the `public` folder during the build.
Only files inside the `public` folder can be referenced from the HTML.
Unlike "/favicon.ico" or "favicon.ico", "%PUBLIC_URL%/favicon.ico" will
work correctly both with client-side routing and a non-root public URL.
Learn how to configure a non-root public URL by running `npm run build`.
-->
<title>React App</title>
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start` or `yarn start`.
To create a production bundle, use `npm run build` or `yarn build`.
-->
</body>
</html>
解决方案
您应该稍等片刻,运行npm start
时需要一些时间才能启动。
看看你运行的控制台npm start
,可能有消息说它正在启动。
第一次启动有点慢。
编辑:
因为您处于开发模式,所以 webpack 不会更改您的代码以兼容所有浏览器,因此它适用于 chrome 而不是 Edge。
推荐阅读
- amazon-web-services - 哪些 cloudwatch 事件由增强的运行状况监控触发?
- python - 具有基于行的路径的get_json_object?
- java - Springboot - MongoDb:过早到达流的末尾
- gradle - 在 settings.gradle 中使用 Maven 存储库凭据
- javascript - 它无法使用 JS 和 AJAX 自动发布
- python - 为什么我们不能在 python 中更改字符串的特定值
- php - 如何使用 DB 插入将布尔值“false”插入 0?
- rust - 为什么在更改 Result 的类型时匹配 Result 需要显式 Err?
- mysql - Azure“MySQL 服务器已消失”仅一分钟
- php - 通过网络的 Laravel SQL 连接错误,在工匠中工作