【问题标题】:npm is only updating when changes are made in index.jsnpm 仅在 index.js 中进行更改时更新
【发布时间】:2020-03-28 05:30:06
【问题描述】:

我刚刚开始学习 React,我正在使用命令 npm start 运行服务器,但问题是每当我对 index.js 文件进行任何更改时,它都会在网站上更新它,但每当我导入其他文件时应用程序并在这些应用程序中进行更改不会更新网站。
如何在更新项目中的任何文件时更新我的​​网站?

这是我的 header.js 文件

import React from 'react';

const user = {

    name : 'Brijesh',
    lastname : 'Maurya',
    age : 20
}

const Header = () =>{

return (   
    <div>
        <div>{user.name}</div>
    </div>)
}

export default Header;

这里是 index.js 文件

import React from 'react';
import ReactDOM from 'react-dom';

// Components 
import Header from './components/header'

const App = () =>{

    return (

        <div>
            <Header/>
        </div>
    )
}  

ReactDOM.render(<App/>, document.querySelector('#root')); 

【问题讨论】:

  • 您能否更具体或解释一下“我正在导入其他一些应用程序并在这些应用程序中进行更改”?将应用程序导入我不理解的项目中?...
  • 你试过 npm run watch 吗?
  • @Brijesh 你是如何创建你的反应应用程序的?通过 create-react-app ?
  • @Brijesh 这很奇怪,因为 npm start 应该执行 react-scripts start 并重新加载热模块。
  • 你可以尝试创建一个新的 react-app 吗?

标签: javascript node.js reactjs npm npm-start


【解决方案1】:

听起来好像 npm start 正在运行的任何服务器(可能是节点服务器)都配置了热模块更换,而您正在运行的其他应用程序没有配置 HMR。

您可以在此处了解有关如何在 Webpack 网站上配置 HMR 的更多信息: https://webpack.js.org/concepts/hot-module-replacement/

关于这里的 React Hot Loader: https://gaearon.github.io/react-hot-loader/getstarted/

如果 npm start 运行 wepack-dev-server 它可能就像运行带有 --hot 标志的服务器一样简单。

【讨论】:

  • 我觉得太复杂了,我宁愿使用其他可用的选项。我只想知道为什么当我对 index.js 以外的其他文件进行更改时它没有更新网站
【解决方案2】:

当您的问题通过创建另一个应用程序得到解决时,也许您应该考虑一下您在制作这些文件时所经历的流程。 正如您提到的,您刚刚开始学习 react ,我认为您可能已经做了一些事情,例如删除所有文件,然后从头开始创建新文件。

无论如何,欢迎来到 React JS 的世界!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 2021-04-21
    • 2015-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-04-13
    相关资源
    最近更新 更多