`onmouseenter` is not triggered

`onmouseenter` is not triggered

I have this piece of code:

<script lang="ts">
    let visible = $state(false);
</script>

<div
    role="button"
    tabindex="0"
    onmouseenter={() => {
        console.log('onmouseenter');
        visible = true;
    }}
    onmouseleave={() => {
        console.log('onmouseleave');
        visible = false;
    }}
>
    {visible}
</div>

which works fine on the Read more

working example in playground

However, it doesn't work locally.

non working example in local

What could be missing, or what could I have done wrong?

Answer

After investigation, I discovered I was using some dependencies that were using process.env and it was throwing errors:

app.js:32 ReferenceError: process is not defined
    at node_modules/path/path.js (path.js?v=e0445acb:492:21)
    at __require (chunk-XSCQBFM2.js?v=e0445acb:10:50)
    at path.js?v=e0445acb:874:16
handleError @   app.js:32
await in start      
(anonymous) @   (index):101
Promise.then        
(anonymous) @   (index):100
path.js?v=e0445acb:492 Uncaught (in promise) ReferenceError: process is not defined
    at node_modules/path/path.js (path.js?v=e0445acb:492:21)
    at __require (chunk-XSCQBFM2.js?v=e0445acb:10:50)
    at path.js?v=e0445acb:874:16
node_modules/path/path.js   @   path.js?v=e0445acb:492
__require   @   chunk-XSCQBFM2.js?v=e0445acb:10
(anonymous) @   path.js?v=e0445acb:874
client.js?v=e0445acb:331 Uncaught (in promise) ReferenceError: process is not defined
    at node_modules/path/path.js (path.js?v=e0445acb:492:21)
    at __require (chunk-XSCQBFM2.js?v=e0445acb:10:50)
    at path.js?v=e0445acb:874:16
node_modules/path/path.js   @   path.js?v=e0445acb:492
__require   @   chunk-XSCQBFM2.js?v=e0445acb:10
(anonymous) @   path.js?v=e0445acb:874

I "fixed" it adding

export default defineConfig({
  define: {
    'process.env': {}  // Add this
  }
});

in my vite.config.ts (I don't know whether that is a proper fix though).

But now, there is no error in the console and onmouseenter is triggered.

Enjoyed this article?

Check out more content on our blog or follow us on social media.

Browse more articles