-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Hot Module Reloading not working, dev server not being updated. #1591
Comments
Safe write issue? https://parceljs.org/hmr.html#safe-write |
@DeMoorJasper I'm using VS Code which doesn't have safe write functionality. microsoft/vscode#28927 |
So I have no clue what happened, but I was having the same issue with a separate project that uses create-react-app. Restarting my computer fixed the problem. 🤷♂️ |
I've been seeing reports of this on Freenode, and had it happen a couple times myself. In particular, this bug chased away a user from Parcel entirely today. I think it happens on certain first runs. I was able to reproduce it once with their code, but not consistently. There is a problem here, so it would be great to re-open. The specific code failed was index.html: <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Parcel Demo</title>
</head>
<body>
<div id="main">Hello</div>
<script src="./src/app.js"></script>
</body>
</html> src/app.js: import $ from 'jquery';
$(() => {
$('#main').text('Hello 123');
}); I dropped those into a folder which had parcel install and ran it (but I think I may have tried to run it with the app.js file in root first?) and it reproduced, with changes to app.js not causing rebuilds, even after killing and restarting the parcel process (run with It seems to have happened more when changing a script src is involved at some point. It also seems like once it goes away, it doesn't tend to come back in that project. Unfortunately, I wasn't able to get feedback from the user whether deleting .cache fixed it or not. Deleting the .cache folder doesn't not seem to be enough to get the issue to come back. |
I'm having the same problem and this is like 5th time I'm trying Parcel over last 6 months or so and I just can't get Parcel to refresh the page, it rebuilds but doesn't refresh. I'm on Windows, using TypeScript and the issue persists no matter the browser (I tried Chrome, Firefox and Opera). Really annoying. |
I believe I have been having the same problem... Safe write was not the error for me. I can confirm what @samsch said EDIT
|
Same problem but since 1.9.5.. 1.9.4 it's ok! |
Thanks @michael-n :) |
I am also experiencing this issue. Using VSCode (no safe-write). Don't have any odd folder names and 1.9.4 doesn't behave any differently. |
Same problem here! Using atom or any other text editor, the css does not get applied just by changing a css property. I'm using post css + css modules |
@DeMoorJasper Can we re-open this issue? The presence of periods in any parent folder breaks |
Can confirm, this was driving me crazy, replacing the periods from the root folder fixed it. |
@mixedCase Hey mate, would you mind posting how the code was, and how it looks like now for the affected files? |
@caiokoiti Same code. I merely renamed folder containing the repository from com.domain.subdomain to com-domain-subdomain. |
Just quickly adding that periods in my directory name was causing Parcel to ignore hot reloads. (windows 10, VS Code) |
I think there are two overlapping issues here: the period-in-directory one, and the one @gitnix and I are having. I have no folders with dots anywhere in their names, and I'm getting super inconsistent reloading across my and my coworkers' machines. Anecdotally, I think it fixes itself if we delete the |
Same problem, created a new project based off an old (fully HMR working) project. Super bare bones and minimal, but HMR only works on the top level of a react-router based project. Child routes simply won't reload. Restarted, no periods, can open the other project and everything works perfectly, but not this one that is a copy of it... :( Tried the above delete |
Ok, found my problem, possibly @j0hnm4r5 's as well... Turns out when I was recreating my project I inadvertently named a folder "C"omponents instead of "components". I was using This seems like it should either not work at all (ie The inconsistent behavior between initial loading and HMR led me downgrading babel to earlier versions, stripping out dependencies, removing plugins etc from |
I am experiencing hot reloading working exactly once, and then never again. It reloads after a single change, but then all following changes do not cause hot reload. I have no directories with periods. Deleting Windows 10 |
mac , I use dir name upad.gitee , hot reload not work, change name into upad_gitee , hot reload worked |
This issue should be reopened... HMR not works on windows, since version 1.9.5 to latest 1.10.3. |
This issue has blocked me from adopting Parcel. I am back on Rollup until this issue is resolved. |
Just started seeing this issue. Don't think I have any periods in folder names. Parcel just periodically stops reloading on file changes and won't start again until the computer is rebooted. Running on macOS Mojave and vscode. Restarting the app without a computer restart makes me able to see new errors, but I have to restart the app every time I change something to see new issues or compilation. |
Scratch that. On further investigation, it's not resolved by blowing away the files — I believe it resolves itself for me as soon as the code successfully compiles again (that is, until all compilation errors are resolved, refreshing will continue to not work, but after a successful compilation, refreshing starts working again, at least temporarily). |
Hey.. I was using vim on my windows machine with |
I'm experiencing this issue on macOS 10.14.2 with Atom 1.33.1 |
HMR refused to work after I removed my index.js file because I no longer needed it. I tried a lot of the things recommended in the comments but nothing worked. As soon as I added index.js back and imported it in index.html, it worked. I'm on a macbook with vscode and parcel 2 Why is this issue still closed?? HMR is one of the most important features of parcel, and a lot of people are experiencing random problems with super simple projects. |
@kennethkeim This is a very old issue. Can you please open a new issue more details? Including your code and the steps to reproduce this? |
I ran into this problem and it was because I was trying to edit an HTML file without a JS import. I think this should work no matter if you have a JS src tag or not. |
Thanks, it worked 🚀🚀🎉. |
Just to add a little to the body of knowledge here. It was case sensitivity on an import statement that broke it for me. A dumb typo on my part that wasted the good part of a morning! |
I solved my issue like that too. I agree it should live reload even if only using html code. |
I tried the solutions mentioned here before i was able to fix this by making my script type="module" then adding this code to it: |
I found this broke for me if i had a script tag like
But works if i load it as a module
It looks like if i have a non-module script parcel doesn't inject its bundle of hotreloading stuff |
I was having the same problem here, it wasn't auto refreshing, but thanks to what @msfeldstein said it fixed for me, thanks! |
I can confirm that this does not work for me as well.
I have first tried running the script with the I have changed from Then I've created new .js files that I import inside This bug kills productivity when you're trying to watch tutorials and you do the exact same things as the tutor, but it doesn't work as expected and then you have to search endlessly for a solution. |
Agree with @GeorgeFlorian, I am also working with Parcel^2.0.1. The changes sometimes don't reflect in the dist folder when the changes are made in other js files that are imported in the main js file. Can anyone please help with this issue? |
Same problem. Changes are not reflecting. I have to do ctrl + shift + r to hard refresh. |
I have the same problem. I made a workaround, feel free to use it while it's not fixed.
export const enableHotReload = () => {
if (process.env.NODE_ENV === 'development') {
// Parcel's websocket sends messages every ctrl + s, even though it ONLY works on index.html for now.
// We'll listen to it to do a whole page refresh.
const parcelSocket = new WebSocket("ws://localhost:1234/"); // Or whatever port you run parcel on
parcelSocket.onmessage = () => {
// eslint-disable-next-line no-restricted-globals
location.reload();
};
}
};
|
Using different ports worked for me as described here: #6994 |
Installing the nuke-dist plugin helped. |
Some notes on my experience with an instance of this problem (using Parcel 2.3.2) can be found in #7762. |
This worked for me, hope works for another person with the issue from now |
Hot reload issue solved for me after i added |
If Hot Module Reloading is not working, the problem may relate to the periods ( Consider changing the import App from "./App";
import App from "/src/App" |
Ok, if anyone else is using Windows + WSL and tearing their heart out because no matter what you do, HMR doesn't work... the problem is with WSL 2. Currently, WSL 2 has a number of problems related to files crossing filesystem boundaries (i.e. if your project is actually under Windows but accessible to WSL under To work around the problem, you can convert your distro back to WSL 1. Open an Administrator command prompt and:
After this, as if by magic, HMR works again. If anyone has further input on this and a better workaround, I'm all ears. |
the same problem here, I'm using atom, TSX, windows, and parcel 2.7.0. I restart the computer but the error keeps there. :( |
converting script to module worked for me too. :) |
Replying to #1591 (comment) |
Right, because that way you avoid the cross-filesystem penalty. It's really strange that WSL 2 is more advanced that WSL 1, and yet cross-filesystem access is such a big problem. Hope that Microsoft fixes this at some point. |
I needed to add type="module" for all script tags in index.html |
This fix works I had to remove the period at the beginning of each path |
For me on windows vsCode v1.84 and parcel v2.10.3 in year 2023 helped this:
|
🐛 bug report
I followed the steps exactly here: https://parceljs.org/getting_started.html
Making changes to either the js or html file does not cause any update to occur at localhost:1234 when
parcel index.html
is run.I also followed the react recipe verbatim with the same issue: http://blog.jakoblind.no/react-parcel/
Saving the file doesn't refresh the dev server.
🎛 Configuration (.babelrc, package.json, cli command)
package.json
.babelrc
console command
npm start
also tried
parcel serve index.html
andparcel index.html --no-cache
🤔 Expected Behavior
Saved changes should cause the dev server to refresh
😯 Current Behavior
Content builds correctly when the command is first run however, the dev server is not refreshed when a change is saved, so even refreshing the page doesn't do anything.
🔦 Context
I tried using global parcel-bundler as well as a local installation.
💻 Code Sample
Followed the get started guide and react-recipe blog exactly.
index.html
index.js
🌍 Your Environment
Tried in chrome as well as firefox
The text was updated successfully, but these errors were encountered: