Mri*_*gla 27 javascript jsx reactjs webpack
我使用 npx create-react-app 创建了这个应用程序。之后我删除了 src 文件夹中除 index.js 之外的所有文件。然后热重载不起作用。我已经转到 chrome 并手动刷新页面以查看更改。这是我的index.js文件。
import React from 'react';
import ReactDom from 'react-dom';
function Greeting() {
return (
<div>
<h1>hello World</h1>
<ul>
<li>Click Here</li>
</ul>
</div>
);
}
ReactDom.render(<Greeting />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)
Package.json文件
{
"name": "tutorial",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.11.4",
"@testing-library/react": "^11.1.0",
"@testing-library/user-event": "^12.1.10",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
Run Code Online (Sandbox Code Playgroud)
YZE*_*YZE 19
为了解决热重载/快速刷新中的问题,我只需在package.json中添加CHOKIDAR_USEPOLLING=true:
"scripts": {
"start": "CHOKIDAR_USEPOLLING=true react-scripts start", //add this line
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
}
Run Code Online (Sandbox Code Playgroud)
小智 15
有一个问题 - https://github.com/facebook/create-react-app/issues/9904
解决方法是将以下代码放入 index.js 以启用重新加载
if (module.hot) {
module.hot.accept();
}
Run Code Online (Sandbox Code Playgroud)
进行此更改后必须重新启动服务器
Imr*_*her 14
虽然上述解决方案也很有用,但对大多数人来说有效的另一种方法是.env在项目中创建一个文件夹。
并在那里使用以下属性。
FAST_REFRESH = false
Run Code Online (Sandbox Code Playgroud)
添加上述内容后,您必须重新启动服务器
package.json 文件中的 React-scripts 版本 4.0.1 存在问题。我已将其替换为 'react-scripts' : '3.4.4' 现在它可以工作了。欲了解更多信息:https ://github.com/facebook/create-react-app/issues/9984
| 归档时间: |
|
| 查看次数: |
79363 次 |
| 最近记录: |