Vue plugins are installed globally when applied with Vue.use()

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

  • Close this issue

Summary

In most of our apps, we first import Vue and then do Vue.use() to load plugins like Translate, VueResource, VueRouter and Vuex, and this happens before we even do new Vue() to create new Vue instance, so that ends up loading the plugin on Global Vue instance.

This was realized while discussing on our Slack whether using __() & s__() in component templates is allowed without doing Vue.use(Translate) before-hand.

Proposal

This issue is open to discussion with a goal to prevent doing Vue.use multiple times (while Vue is smart enough to install plugin only once even if .use() is called multiple times for same plugin).

Edited Sep 28, 2025 by 🤖 GitLab Bot 🤖
Assignee Loading
Time tracking Loading