根据环境导入不同的文件

时间:2017-10-26 13:04:03

标签: reactjs import create-react-app

我正在使用Create-React-App。我有2个静态JSON文件,其数据根据它们运行的​​环境而有所不同。

根据应用程序运行的环境导入文件的最佳方法是什么?

我有这个,但看起来不对,还有其他建议吗?

    if (process.env.NODE_ENV !== 'production') {
        import data from './data/devData';
    }
    if (process.env.NODE_ENV === 'production') {
        import data from './data/prodData';
    }

2 个答案:

答案 0 :(得分:0)

您可以使用键创建一个文件配置,例如“default”和“production”。导入文件后,请检查process.env并返回实际的配置对象。

const config = require('./data/config.json');

function getConfig() {
   let customConfig = config['default'];

    if (process.env.NODE_ENV === 'production') {
        customConfig = config['production'];
    }  

    return customConfig;  
}

答案 1 :(得分:0)

另一个想法-添加到您的手提包alias

try... catch

并通过以下方式从组件中调用它:

resolve: { alias: { 'config/data': path.resolve(__dirname, `./data/${process.env.NODE_ENV}`) } }