代码之家  ›  专栏  ›  技术社区  ›  bernie

如何使用Webpack在Vue.js单个文件组件中导入JSON文件

  •  1
  • bernie  · 技术社区  · 5 年前

    重要的

    问题是文件在错误的目录中。这可能对你没有帮助…

    问题

    我正在使用Vue.js单文件组件,并希望导入 .json 把它们中的一个归档,但我不知道怎么做。我想做的是:

    src/App.vue 包含:

    import data from './tree.json'; // This does not work!
    
    export default {
      /* Component def */
    };
    

    Webpack随后给出以下错误:

    ERROR in ./src/App.vue?vue&type=script&lang=js& (./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js&)
    Module not found: Error: Can't resolve './tree.json' in 'C:\src'
     @ ./src/App.vue?vue&type=script&lang=js& (./node_modules/babel-loader/lib!./node_modules/vue-loader/lib??vue-loader-options!./src/App.vue?vue&type=script&lang=js&) 8:0-31
     @ ./src/App.vue?vue&type=script&lang=js&
     @ ./src/App.vue
     @ ./src/app.js
     @ multi ./src/app.js
    

    Webpack配置(简化):

    module.exports = {
      mode: 'development',
    
      entry: [
        './src/app.js',
      ],
    
      module: {
        rules: [
          {
            test: /\.vue$/,
            use: 'vue-loader',
          },
          {
            test: /\.js$/,
            use: 'babel-loader',
          },
        ],
      },
    };
    

    我使用的是Vue.JS 2.5和Webpack4.28。

    尝试导入相同的 杰森 在“香草”中归档 .js 然而,文件 做功 :

    // In src/app.js
    import data from './tree.json';
    

    这让我觉得 vue-loader 这不适用于Webpack对 杰森 进口,但我不知道是什么。

    1 回复  |  直到 5 年前
        1
  •  2
  •   Chris Hawkes    5 年前

    错误表明它正在您的src/目录中查找tree.json文件。如果没有,那就是你的问题。

    ⚠️ Since webpack >= v2.0.0, importing of JSON files will work by default. You might still want to use this if you use a custom file extension. See the v1.0.0 -> v2.0.0 Migration Guide for more information
    

    基本上,您的问题与文件不在正确的目录中有关。

    推荐文章