Reactjs 在src文件夹外读取json文件

Reactjs 在src文件夹外读取json文件,reactjs,Reactjs,我的reactjs应用程序有一个导航组件,可以映射到一个对象数组(必需的json文件) 此json文件是根据登录用户(即menu_admin.json、menu_superadmin.json等)需要的 在开发构建中,我能够要求这个文件显示菜单。 但是在我创建reactjs构建文件(npm运行构建)并将其用作生产构建之后。 此生产版本不会读取该文件 注意:jsonfile在src文件夹之外,为什么?因为文件可能会动态更改 菜单\u superadmin.json [ {

我的reactjs应用程序有一个导航组件,可以映射到一个对象数组(必需的json文件)

此json文件是根据登录用户(即menu_admin.json、menu_superadmin.json等)需要的

在开发构建中,我能够要求这个文件显示菜单。 但是在我创建reactjs构建文件(npm运行构建)并将其用作生产构建之后。 此生产版本不会读取该文件

注意:jsonfile在src文件夹之外,为什么?因为文件可能会动态更改

菜单\u superadmin.json

[
    {
        "menuid": 1,
        "menuname": "home"
    },{
        "menuid": 2,
        "menuname": "item"
    },{
        "menuid": 2,
        "menuname": "setting"
    }
]
[
    {
        "menuid": 1,
        "menuname": "home"
    },{
        "menuid": 2,
        "menuname": "item"
    }
]
menu_admin.json

[
    {
        "menuid": 1,
        "menuname": "home"
    },{
        "menuid": 2,
        "menuname": "item"
    },{
        "menuid": 2,
        "menuname": "setting"
    }
]
[
    {
        "menuid": 1,
        "menuname": "home"
    },{
        "menuid": 2,
        "menuname": "item"
    }
]
menu_user.json

[
    {
        "menuid": 1,
        "menuname": home
    }
]
编辑2019年6月6日 这就是代码的样子

const data = ['admin', 'superadmin', 'user'];
const userrole = 1; /* get this by login */
function menu(data) {
    /* load the json file */
    const menuArray = require(`./../menu/menu_${data[userrole]}.json`) /* file inside this json may dynamically changing depends on the settings */
    /* map the json file */
    const menu = menuArray.map((index) => {
        return <div key={index.menuid} onClick={somethingsomething}>
            {index.menuname}
        </div>
    })
    return menu
}
const data=['admin','superadmin','user'];
const userrole=1;/*通过登录获取此信息*/
功能菜单(数据){
/*加载json文件*/
const menuArray=require(`./../menu/menu{data[userrole]}.json`)/*此json中的文件可能会根据设置动态更改*/
/*映射json文件*/
const menu=menuArray.map((索引)=>{
返回
{index.menuname}
})
返回菜单
}
预期结果是读取menu\u superadmin.json
实际结果:
-开发环境:我能够阅读菜单
-生产/构建:无法读取菜单

文件夹结构:

——菜单
----menu_admin.json
----菜单\u superadmin.json
--src
----应用程序

编辑2019年6月7日

最终找到了在src文件夹外获取json文件的方法,方法是将文件夹移动到公用文件夹,然后使用
fetch('/path')
而不是
require('path')
。并从后端创建一个逻辑,使该json文件成为构建文件夹,如果其在生产环境中

看起来您的json文件位于src目录之外,因此当您在本地构建时,它正在工作,因为它内置于工作目录中

在构建期间,尝试将json文件保存到src中。
这是构建过程的一个经典案例,即使在等级中,我们在创建jar文件时也会看到这一点。

发布一些关于如何读取和使用这些JSON文件的代码。使用“导入”来读取JSON并显示代码,以获得更多说明。@FamilRestu请参阅此链接以导入JSON