napcs/node-livereload

Simply does not work on macOS

Closed this issue · 6 comments

What version are you using? (Don't say latest. Be specific.)

0.6.2

Expected result

That it would actually load the page.

Actual result

Spins with this command/output:
$ livereload ./methodbox --port 3000 Starting LiveReload v0.6.2 for /Users/CodeMonkey/Code/nodeapps/methodbox on port 3000.

In other words, the command line responds, but navigating to localhost:3000 in the browser just sits and spins. Never loads.

This is on a brand new install of the npm module on a literally basic html site:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
    <script type="text/javascript" src="./libs/materialize/js/materialize.min.js">
    <title>[ methodbox ]</title>
  </head>
    <body>
      <p>test</p>
    </body>
</html>

Steps to reproduce issue

Simply start livereload and watch as it doesn't work.

Why is this important?

Kind of the point of the whole module.

Thought to add a few things here:

macOS version: 10.12.4
Chrome version: 57.0.2987.133 (64-bit)

Tried with and without your browser extension, with and without your code snippet (which seems redundant and also probably not related as the page hasn't even loaded yet), results are the same.

Tried in Safari, same.

It simply spins and does nothing. If I terminate the process in terminal the page gives a cannot connect error, so it's clear it's your process that is hanging at that point.

Luckily, browser-sync still works so for now I've switched back to that.

napcs commented

Livereload does not serve the pages. It's not designed to do that. It is a websocket service for reloading only. You definitely want something more robust like browser-sync.

Maybe the confusion is your description that it's an alternative to the Live Reload desktop app, which does just that.

You probably want to clarify that in your documentation.

TBH, I'm still unclear what it's purpose is.

napcs commented

The official Live Reload app does not serve HTML pages as far as I can tell - I'm running it right now and can see no options for this.

This app, like the official app, does serve the LiveReload JavaScript library for those who don't want to use the browser extension. And, like the official app, it, runs a websocket server on port 35729 which the browser extension or JS connects to. http://feedback.livereload.com/knowledgebase/articles/67441-how-do-i-start-using-livereload

To use both, you simply open the file in your browser using a file:/// url. Or you use an existing app server. All this and the official app do is use websockets and JS to make the browser reload the resources that changed.

Hope that helps.

Thanks for the clarification! I misunderstood, clearly.

I'll try it again on a project later.

I'd rather use something other than browser-sync when doing projects not using webpack (as my CLI tools for React and other libs build this in already - no browser-sync needed) as it's pretty battery-hungry on my MBP.

Your tool seems to be much lighter on the energy consumption.