-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Description
Version
4.0.2
Describe the bug
Recently upgraded Vuex to 4.0.2 for a Vue 3 migration that uses a custom SSR solution using Express and Webpack. When running in development mode, the server's memory continued to rise with usage, whereas in production mode, it didn't happen.
Ran a profiler via Chrome's devtools and noticed that in development mode, there were large memory allocations for the VUE_DEVTOOLS_PLUGINS. We also use vue-i18n and vue-router which also register devtools plugins when running in development mode.
However, those other libraries make a check that they are executing in the browser or not in a Node environment, but Vuex does not. As long as you are running in development mode (even on the server) it registers the devtools plugins. I believe this is the cause of the sustained memory usage (possibly a leak?).
I will submit a PR to fix this issue.
Reproduction
- Use Vuex 4.0.2 with Vue 3 with SSR on a Node server process while running with NODE_ENV=development
- Make sure the usage includes registering store modules at runtime
- Notice that as the server processes more requests that use Vuex, the memory used by the server will rise and not come down.
- Notice that the same thing doesn't happen if you run the server with NODE_ENV=production
Expected behavior
Vuex not to add devtools on the server (even if NODE_ENV=development), client-side is fine.
Additional context
No response
Validations
- Follow our Code of ConductRead the docs.Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.To pick up a draggable item, press the space bar. While dragging, use the arrow keys to move the item. Press space again to drop the item in its new position, or press escape to cancel.
Activity
Fixes vuejs#2250