将 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;
}