Laravel Mix和Webpack:无法加载JSON文件(Webpack将.js添加到文件名)

时间:2018-03-28 18:51:01

标签: javascript laravel webpack laravel-mix

我从Webpack收到以下错误:

"multipart/form-data"

我对文件加载失败并不感到惊讶。 JSON文件未被称为ERROR in ./resources/assets/js/data/vehicles.json.js Module build failed: Error: ENOENT: no such file or directory, open '/Users/path-to-my-app/resources/assets/js/data/vehicles.json.js' 。它被称为vehicles.json.js

导入文件的行显示为:

vehicles.json

但是,如果我将文件名更改为import vehicleTypes from '../data/vehicles.json' (并使用导出步骤使其成为模块)并将import语句更改为:

vehicles.js

Webpack工作正常。

我的印象是最新的webpack可以在不配置任何内容的情况下加载JSON文件。

1 个答案:

答案 0 :(得分:1)

  

由于webpack> = v2.0.0,默认情况下导入JSON文件将起作用。如果您使用自定义文件扩展名,则可能仍希望使用此功能。

您可能正在使用较旧版本的webpack来解释原因 加载器默认不起作用。

尝试将其作为自定义加载程序添加到webpack.mix.js文件中。

安装加载程序:

npm install --save-dev json-loader

并声明自定义加载器:

mix.webpackConfig({
         module: {
           loaders: [{
             test: /\.json$/,
             loader: 'json-loader'
             }]
           }
       });

你应该能够像人们期望的那样导入.json文件。