如何在nuxt / vue应用程序中的单个位置加载静态数据?
理想情况下,我会有一个JSON文件,其中包含所有这些数据,这些数据将被加载到vuex中,并且可以在任何地方访问...
我已经建议了两个选项,但我发现它们不干净......
export const API_URL = 'https:/my-api.com'
)。将该文件中的数据导入您需要的任何位置(例如import { API_URL } from 'path/to/constants'
)。
答案 0 :(得分:3)
我找到了一个使用vue原型的优雅解决方案
因此使用Nuxt.js
1)在-> here formated_date_str = 01 00 Friday
~/plugins/globals.js
2)在import Vue from 'vue'
import globals from '~/globals.json'
import _get from 'lodash/get'
Vue.prototype.$g = (key) => {
let val = _get(globals, key, '')
if (!val) console.warn(key, ' is empty in $g')
return val || key
}
~/global.json
3)在每个{
"website_url": "https://www.company.com",
"social": {
"facebook": {
"url": "https://www.facebook.com/company"
},
"twitter": {
"url": "https://www.twitter.com/company"
}
}
}
文件中使用这些
.vue
答案 1 :(得分:0)
我找到了一种最简单的方法来设置配置(json)文件并在任何组件中使用。
步骤-
setting.json
文件。 import settings from '../settings.json'
export default function ({ store, route, redirect, req}) {
process.env = settings
}
nuxt.config.js中的3-在其中添加设置
router: {
middleware: ['users', 'settings']
},
用途- 在任何组件或页面中-
data(){
return {
settings: process.env
}
},
现在您可以在组件中的任何位置使用设置。