根据环境变量吞并ReactJS?

时间:2016-01-21 22:14:37

标签: javascript reactjs gulp

是否可以使用ReactJS UI,根据环境变量的不同,删除使用Gulp编译的某些组件?

所以说我的React看起来如下;在使用gulp编译时,我想使用process.env.NODE_ENV编译DevOnly或不编译。

我意识到可以使用变量和if statement。但我更喜欢这个组件在编译格式中根本不显示。

var DevOnly = React.createClass({}) // This has to hide on Prod

var App = React.createClass({
    render: function () {
        return (
                < div >
                    Stuff, including DevOnly (if dev)
                < / div >
        )
    }
});

1 个答案:

答案 0 :(得分:2)

你正在寻找一个预处理器,结果是gulp有一个https://www.npmjs.com/package/gulp-preprocess

它看起来像那样(虽然我还没有测试过它):

var DevOnly = React.createClass({}) // This has to hide on Prod

var App = React.createClass({
    render: function () {
        return (
                <div>
                    <Stuff/> 
                   /* @if NODE_ENV=='dev' */ <DevOnly/> /* @endif */                   
                </div>
        )
    }
});