【问题标题】:My localhost doesn't refresh, it only refreshes when I restart my computer [closed]我的本地主机不刷新,只有在我重新启动计算机时才会刷新[关闭]
【发布时间】:2018-11-08 12:33:26
【问题描述】:

我正在使用 Mac 上的终端托管一个 node.js 文件:

cd /Users/bobboekel/Desktop/Exploration
node /Users/bobboekel/Desktop/Exploration/myfirst.js 

现在当我进入 Safari 时:http://localhost:8080 它将加载文件。然而,当我更新文件时,页面没有刷新——当我刷新窗口、重新启动浏览器或在另一个浏览器中打开它时也没有。除了重新启动Mac之外,我还没有设法刷新本地主机。有人知道吗?

【问题讨论】:

  • Ctrl+C 退出进程然后再次使用node命令,或者使用nodemon之类的东西
  • 你需要重启节点应用而不是浏览器
  • 或者使用浏览器同步设置您的开发环境,不需要每次编辑都重新启动服务器
  • 所以您已经使用 Node.js 编写了一个 HTTP 服务器,但它的行为与您期望的不同。我们对此无能为力,因为您尚未向我们展示您的服务器源代码的minimal reproducible example
  • 代码中的第二行很有趣:-)

标签: node.js server terminal localhost


【解决方案1】:

Nodejs 评估代码并缓存它,并且在您重新启动服务器之前永远不会重新加载它。为了避免在终端中退出然后再次重述的所有喧嚣,您可以使用forever。它可以启动、重新启动、停止和列出当前正在运行的服务器。它还可以监视更改的文件并根据需要重新启动节点。

  • 您可以使用以下方式安装它:npm install forever -g
  • 然后使用 -w 标志调用永久命令以监视文件的更改 (forever -w ./my-script.js),
  • 或者您可以查看整个目录的文件更改并在任何时候重新启动服务器:(forever --watch --watchDirectory ./dir/to/watch ./path/to/myfirst.js)

安装forever后,相当于你的代码如下:

cd /Users/bobboekel/Desktop/Exploration
forever --watch --watchDirectory ./ myfirst.js 

【讨论】:

  • 感谢您的回答,这会起作用,但是,在您完成第一个项目符号后:错误:EACCES:权限被拒绝,访问“/usr/local/lib/node_modules”您有快速解决方案吗?
  • 很高兴知道它得到了解决
  • 我修复了权限,非常感谢!现在我可以继续在我的社交媒体上工作了:-)(别担心,我知道 html css jquery 和 sql,只是学习 node.js)
  • @B.VanBoekel 欢迎
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多