Vue模块组件检测Vue.js版本?
Posted
技术标签:
【中文标题】Vue模块组件检测Vue.js版本?【英文标题】:Vue module component detect Vue.js version? 【发布时间】:2021-03-22 21:30:03 【问题描述】:我想将一个组件发布到 NPM,它具有简单的 v-model
功能。
因此,如果它可以在 vuejs 2/3 上互换运行,那就太理想了。
我可以通过将组件设置为发出input
和update:modelValue
来强制两者的行为,但更优雅的解决方案是验证用户的实现并相应地发出。运行时工具链中的某处是否有可用的“版本”属性?或者,优雅地检测客户端构建版本的(或其中一种)最佳方法是什么?
【问题讨论】:
【参考方案1】: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;
【讨论】:
【参考方案2】:与:Vue.version
import Vue from 'vue'
import App from './App.vue'
console.log(Vue.version);
new Vue(
render: h => h(App),
).$mount('#app')
参考:https://www.positronx.io/how-to-check-current-vue-js-application-version/
【讨论】:
以上是关于Vue模块组件检测Vue.js版本?的主要内容,如果未能解决你的问题,请参考以下文章