无法静态分析'require(...,...)'的反应

时间:2018-05-16 19:16:48

标签: reactjs

在我的项目中,我将所有.josn文件放在一个文件夹中并导出i index.js,如下所示

module.exports = {
    get en() { return require('./strings/en.json') },
    get fr() { return require('./strings/fr.json')},
}

将所有我的标签放在en.json中的英文版本和fr.json中的法文标签中,现在我想在不同的json文件中包含错误代码并包含在en。

当我试图

module.exports = {
    get en() { return require('./strings/en.json','./strings/en_errorCodes.json') },
    get fr() { return require('./strings/fr.json','./strings/fr_errorCodes.json')},
}

它在“第9行”中给出了“无法静态分析'require(...,...)'”

请帮帮我。

2 个答案:

答案 0 :(得分:3)

我认为你不能像这样返回多个json文件。您应该尝试将两个json文件组合在一起,然后返回它们。这应该是这样的:

get en() { 
    var text = require('./strings/en.json');
    var errorCode = require('./strings/en_errorCodes.json');
    return Object.assign({}, text, errorCode);
 }

答案 1 :(得分:-3)

使用ajax读取JSON文件,而不是使用* require *。你可以使用

axios.get(apiUrl + input.value)     .then(function(response){         pokemonName.innerHTML = response.data.forms [0] .name; pokemonImage.src = response.data.sprites.front_default; } .catch(function(error){pokemonName.innerHTML ="(发生错误。)&#34 ;; pokemonImage.src ="&#34 ;;})