vue项目设置token全局变量
时间: 2025-02-19 18:35:41 浏览: 50
### 设置和使用全局 Token 变量
#### 使用 Vuex 管理状态
为了使 `token` 成为全局可访问的状态,可以利用 Vuex 来集中管理应用的数据。安装 Vuex 后,在 store 中定义 state 属性来保存 token 值。
```javascript
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
token: ''
},
mutations: {
setToken (state, payload) {
state.token = payload
}
}
})
export default store
```
在任何组件内都可以通过 `this.$store.state.token` 访问该值[^1]。
#### 将全局变量挂载至 Vue 实例原型链
另一种方法是把 token 添加到 Vue 的 prototype 上,这样所有的 Vue 组件都能直接通过 `this` 关键字获取它。
```javascript
// main.js 或入口文件中配置
Object.defineProperty(Vue.prototype, '$global', {
get () {
return this.$root._global || {}
},
configurable: true,
enumerable: false
})
Vue.config.globalProperties.$global = {}
new Vue({
el: '#app',
render: h => h(App),
created () {
this.$root._global = Vue.config.globalProperties.$global
}
})
```
之后可以在组件里像下面这样做:
```html
<template>
<div>{{ $global.token }}</div>
</template>
<script>
export default {
mounted() {
console.log(this.$global.token);
}
}
</script>
```
这种方式使得无需引入额外依赖就能实现全局共享数据的目的[^4]。
#### 直接创建 Global 文件并导入
还可以单独建立一个 JavaScript 文件用于存储公共常量或变量,比如命名为 `Global.js`:
```javascript
window.GLOBAL = window.GLOBAL || {};
GLOBAL.token = '';
```
随后在其他地方只需要简单引用这个对象即可读取其中的内容。
```html
<template>
<div>{{ GLOBAL.token }}</div> <!-- 如果是在浏览器环境中 -- 或者 -->
<div>{{ token }}</div>
</template>
<script>
import * as GLOBAL from '@/path/to/global';
export default {
computed: {
token() {
return GLOBAL.token;
}
}
};
</script>
```
这种方法适用于小型项目或是那些不打算采用复杂状态管理模式的应用程序[^3]。
阅读全文
相关推荐

















