简体   繁体   English

使用Webpack 4以Javascript导入JSON文件

[英]Import JSON file in Javascript using Webpack 4

I have a file called generic-map.json containing the following: 我有一个名为generic-map.json的文件,其中包含以下内容:

 [ { "names": ["text", "description"], "map": { "name": "textContent", "target": "property", "type": "string" } }, { "names": ["checked"], "map": { "name": "checked", "target": "property", "type": "boolean" } }, { "names": ["disabled", "readonly"], "map": { "name": "disabled", "target": "property", "type": "boolean" } }, { "names": ["title", "tooltip"], "map": { "name": "title", "target": "property", "type": "string" } }, { "names": ["cssclass", "classname"], "map": { "name": "", "target": "classList", "type": "string" } }, { "names": ["tabindex"], "map": { "name": "tabIndex", "target": "attribute", "type": "string" } } ] 

In a Javascript file I'm trying to import this file: 在Javascript文件中,我尝试导入此文件:

import generic from './generic-map.json';

Webpack gives me the following error : Webpack给我以下错误

./src/utils/property-mapping/generic-map.json
Module parse failed: Unexpected token ; in JSON at position 733 while parsing near '...type": "string" } }];'
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected token ; in JSON at position 733 while parsing near '...type": "string" } }];'
    at JSON.parse (<anonymous>)

I do know that webpack does no longer need json-loader , beginning with Webpack version 2.0.0. 我知道从Webpack版本2.0.0开始,webpack不再需要json-loader I'm using Webpack 4.20.2 . 我正在使用Webpack 4.20.2

This is what my loaders configuration looks like: 这是我的加载程序配置:

[{
    test: /(\.js)/,
    exclude: /(node_modules)/,
    loaders: ['babel-loader'],
}, {
    test: /(\.jpg|\.png)$/,
    loader: 'url-loader?limit=10000',
}]

Replace test: /(\\.js)/ to test: /\\.js$/ or test: /\\.jsx?$/ 替换test: /(\\.js)/test: /\\.js$/test: /\\.jsx?$/

babel-loader process a .json file because of wrong test expression. babel-loader由于测试表达式错误而处理.json文件。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM