Мне нужно загрузить несколько файлов json через file-loader
, а затем во время выполнения загрузить и проанализировать их через другую библиотеку, но веб-пакет переносит файл json в js, добавляя 'module.exports =...
в начале файла.
Этот конфигвыдает ошибку во время сборки:
{
include: ASSETS_SOURCE_PATH,
use: {
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
},
},
},
ERROR in ./src/assets/map/map.json
Module parse failed: Unexpected token m in JSON at position 0 while parsing near 'module.exports = __w...'
File was processed with these loaders:
* ./node_modules/file-loader/dist/cjs.js
You may need an additional loader to handle the result of these loaders.
SyntaxError: Unexpected token m in JSON at position 0 while parsing near 'module.exports = __w...'
И если я изменяю конфигурацию на эту, я улавливаю эту ошибку при разборе json во время выполнения:
{
test: /\.json$/,
type: 'javascript/auto',
include: ASSETS_SOURCE_PATH,
use: {
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
},
},
},
{
include: ASSETS_SOURCE_PATH,
use: {
loader: 'file-loader',
options: {
name: '[path][name].[ext]',
},
},
},
Содержимое этого файла module.exports = __webpack_public_path__ + "assets/map/map.json";
UPD: синтаксис import mapTilesJson from '!!file-loader!assets/map/map.json'
работает нормально, но может нарушать машинопись.Есть ли способ достичь того же эффекта в конфигурации webpack, а не в строке?