相关疑难解决方法(0)

es6模块实现,如何加载json文件

我正在实现https://github.com/moroshko/react-autosuggest的示例

重要的代码是这样的:

import React, { Component } from 'react';
import suburbs from 'json!../suburbs.json';

function getSuggestions(input, callback) {
  const suggestions = suburbs
    .filter(suburbObj => suburbMatchRegex.test(suburbObj.suburb))
    .sort((suburbObj1, suburbObj2) =>
      suburbObj1.suburb.toLowerCase().indexOf(lowercasedInput) -
      suburbObj2.suburb.toLowerCase().indexOf(lowercasedInput)
    )
    .slice(0, 7)
    .map(suburbObj => suburbObj.suburb);

  // 'suggestions' will be an array of strings, e.g.:
  //   ['Mentone', 'Mill Park', 'Mordialloc']

  setTimeout(() => callback(null, suggestions), 300);
}
Run Code Online (Sandbox Code Playgroud)

这个示例中的复制粘贴代码(有效)在我的项目中有错误:

Error: Cannot resolve module 'json' in /home/juanda/redux-pruebas/components
Run Code Online (Sandbox Code Playgroud)

如果我拿出前缀json!:

import suburbs from '../suburbs.json';
Run Code Online (Sandbox Code Playgroud)

这样我在编译时就没有错误(导入完成).但是当我执行它时出错:

Uncaught TypeError: _jsonfilesSuburbsJson2.default.filter is not a function
Run Code Online (Sandbox Code Playgroud)

如果我调试它,我可以看到郊区是一个objectc,而不是一个数组,所以没有定义过滤器功能. …

javascript json reactjs webpack

84
推荐指数
3
解决办法
9万
查看次数

标签 统计

javascript ×1

json ×1

reactjs ×1

webpack ×1