vue.js - 如何将配置文件导入 Vue.JS+Vuex
问题描述
在调用 Vue 之前,我在 main.js 文件中设置了配置:
Vue.prototype.$api_url = process.env.NODE_ENV === 'production' ? 'https://api.xxx.com' : 'https://yyy.test:8443'
如果我访问this.$api_url
任何 Vue 文件,它就可以工作。
但是在 store.js (Vuex) 中,它是另一个渲染的 Vue 实例,所以我无法访问this.$api_url
.
如何在文件中设置配置和Vue.use(configs.js)
?
我应该在 configs 文件中做什么才能将其变量放入其中main.js/store.js
?
谢谢你。
解决方案
创建一个独立的 config.js 文件并从该文件中导出您的配置对象。并在需要配置的地方导入配置。如果您希望在所有 Vue 组件中提供相同的配置,也可以将相同的配置分配给 Vue 的原型。
更新:
因此,您可以这样做:
在你的 config.js
let config;
if (process.env.NODE_ENV === "production") {
config = {
$api_url: "https://api.xxx.com",
timeoutDuration: 30000,
someOtherProps: 'xyz'
};
} else {
config = {
$api_url: "https://yyy.test:8443",
timeoutDuration: 1000,
someOtherProps: 'abc'
};
}
export { config }
在你的 main.js
import { config } from 'config';
Vue.prototype.appConfig = config
使用this.appConfig.$api_url
你想在 .vue 文件中使用的任何方式
在您的 store.js 中
import { config } from 'config';
使用config.$api_url
任何你想使用的方式
推荐阅读
- react-native - 如何将组件中的道具传递给 FlatList renderItem
- java - 为什么我的结果集会出现错误?
- reactjs - React 组件组合的正确或有效方法是什么?
- php - 我如何在 laravel 中使用多个数据库,比如一组一个数据库?
- android - Android ConnectivityManager onAvailable 有时未返回
- node.js - 我们如何在一个项目中同时使用“扩展”真或假
- java - 如何修复 Fortify Path Manipulation (Input Validation and Representation, Data Flow) 漏洞
- postgresql - 我在两列(楼层ID和票证)的弹簧启动服务中制作了复合键
- sql-server - 如何避免在 Powershell 中使用 SMO 对象的系统数据库?
- c# - 如何使用 c# 生成 UUID 版本 4