将变量从main.js暴露给vue-cli项目中的其他脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将变量从main.js暴露给vue-cli项目中的其他脚本相关的知识,希望对你有一定的参考价值。

我需要从webpack生成的.js文件外部访问我的vue-cli项目的main.js中声明的Vue实例。在main.js,我有:

var vm = new Vue({
  store,
  render: h => h(App)
}).$mount('#app');

但是,因为webpack将此代码包装在函数中并将其缩小,所以永远无法从脚本外部访问vm变量。我该如何解决这个问题并确保可以从其他脚本访问vm变量?

所有webpack设置都是vue-cli提供的默认设置。

答案

您可以导出Vue实例并将其导入其他脚本中。

export const vm = new Vue({
  store,
  render: h => h(App)
}).$mount('#app');

要在其他脚本中访问它,只需使用

import { vm } from 'path/main.js'
另一答案

你可以把它放在window

window.myComponent = new Vue({
  store,
  render: h => h(App)
}).$mount('#app');

以上是关于将变量从main.js暴露给vue-cli项目中的其他脚本的主要内容,如果未能解决你的问题,请参考以下文章

vue-cli中的main.js中 new Vue 中的template属性啥意思

在vue-cli 3中, 给stylussass样式传入共享的全局变量

关于npm警告fsevents和vue-cli项目中的一些问题,持续更新

将主题颜色暴露给 vuetify 中的 css 变量不起作用

vue-cli配置多入口多出口,实现一个项目两个访问地址,区分不同上线环境

vue-cli开发todoList