将 JSON 导入 VueJS
Import JSON into VueJS
我正在使用 wbepack 编译一个 VUEJS 项目,在该项目中我将一个 JSON 文件导入到 vueJS 中,但是当通过组件访问它时,对象似乎是空的。
import Jason from './some.json';
export defaults {
data(){ return { someArr: Jason } } }
我没有收到任何编译错误或任何其他报告的错误。
什么会导致对象 someArr
为空?
P.S。我能够通过 AJAX 成功加载 json
这应该有效:
var yourJSONData= JSON.parse(Jason);
使用
安装 json 加载程序
npm install json-loader --save
然后在您的 webpack.config 文件中添加此加载器
module: {
loaders: [
{
test: /\.json/,
loader: 'json',
}
],
}
可能只是一个错字,但你 export default {
不是 defaults
假设这不是问题,您是在 ./some.json
中导出 JSON 吗?即
export default {
"foo": "bar",
...
}
我是这样做的:
在main.js:
import Conf from './static/app-conf.json';
Vue.prototype.$appConfig = Conf;
现在我可以在任何需要的地方使用 JSON 文件,只需将它添加到数据即可:
<template>
<div>{{someText}}</div>
</template>
<script>
export default {
name: 'Something',
components: {},
props: {},
data: () => ({
someText: Vue.prototype.$appConfig.someText,
}),
computed: {},
methods: {}
};
</script>
转到 SCR 并找到一个名为 shims-vue.d.ts 的文件并添加一个 JSON 模块,如下所示。
declare module '*.json'
{
const value: { [key: string]: any };
export default value;
}
我正在使用 wbepack 编译一个 VUEJS 项目,在该项目中我将一个 JSON 文件导入到 vueJS 中,但是当通过组件访问它时,对象似乎是空的。
import Jason from './some.json';
export defaults {
data(){ return { someArr: Jason } } }
我没有收到任何编译错误或任何其他报告的错误。
什么会导致对象 someArr
为空?
P.S。我能够通过 AJAX 成功加载 json
这应该有效:
var yourJSONData= JSON.parse(Jason);
使用
安装 json 加载程序npm install json-loader --save
然后在您的 webpack.config 文件中添加此加载器
module: {
loaders: [
{
test: /\.json/,
loader: 'json',
}
],
}
可能只是一个错字,但你 export default {
不是 defaults
假设这不是问题,您是在 ./some.json
中导出 JSON 吗?即
export default {
"foo": "bar",
...
}
我是这样做的:
在main.js:
import Conf from './static/app-conf.json';
Vue.prototype.$appConfig = Conf;
现在我可以在任何需要的地方使用 JSON 文件,只需将它添加到数据即可:
<template>
<div>{{someText}}</div>
</template>
<script>
export default {
name: 'Something',
components: {},
props: {},
data: () => ({
someText: Vue.prototype.$appConfig.someText,
}),
computed: {},
methods: {}
};
</script>
转到 SCR 并找到一个名为 shims-vue.d.ts 的文件并添加一个 JSON 模块,如下所示。
declare module '*.json'
{
const value: { [key: string]: any };
export default value;
}