vue.js - Vue 模块组件检测 Vue.js 版本?

标签 vue.js vuejs2 vue-component vuejs3

我有一个想要通过简单的 v-model 功能发布到 NPM 的组件。

因此,如果它能够在 vuejs 2/3 上互换运行那就更理想了。

我可以通过将组件设置为发出 inputupdate:modelValue 来强制执行两者的行为,但更优雅的解决方案是验证用户的实现并发出因此。运行时工具链中是否有可用的“版本”属性?或者,优雅地检测客户端构建版本的最佳方法(或其中之一)是什么?

最佳答案

Vue 3:

import * as Vue from 'vue';

console.log(Vue.version) // "3.0.0"

Vue 2:

import Vue from 'vue';

console.log(Vue.version) // "2.6.12"

要在两者之间做出有效的决定,您可以执行以下操作:

import * as Vue from 'vue';

// Make copy to prevent import warning in Vue 2
const vueObject = { ...Vue };
let version;

if (vueObject.default) version = 2;
if (vueObject.version && vueObject.version[0] === '3') {
    version = 3;
}

关于vue.js - Vue 模块组件检测 Vue.js 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65251803/

相关文章:

vue.js - 如何为带参数的链接设置 nuxt-link 的事件类?

javascript - 旧版浏览器中的 Vue.js 条件渲染

vue.js - Vuex "context"对象是什么?

vue.js - Vue 3 通过双向绑定(bind)将 react 对象传递给组件

vue.js - 有没有办法在 DOM 中存储对特定组件的引用?

javascript - Vue 与 bootstrap-vue : prevent more than one expanded list-element at all times in list (v-for)

javascript - 无法从 Vue 组件获取正确的 Prop 值

vue.js - Vue Cli 3 和 Firebase service worker 注册

javascript - VueJS 在自定义组件日期时间选择器上使用 v-model

javascript - 如何从 javascript 文件(而不是 vue 组件)获取 vuex 状态