2017-04-07 3 views
1

나는 API에 부합하는 React on Rails 애플리케이션을 가지고있다. 개발을 위해 API 끝점을 localhost으로 설정하고 프로덕션을 위해 배포 된 앱의 URL로 설정하려고합니다.React on Rails에서 NODE_ENV 환경 변수에 액세스하기

클라이언트/package.json

"scripts": { 
    "build:production": "NODE_ENV=production webpack --config webpack.config.js", 
}, 

클라이언트/I가 process.env.NODE_ENV는 (설정/webpack.config.js에서 사용할 수있는 사용하는 것을 볼 수

const devBuild = process.env.NODE_ENV !== 'production'; 

const config = { 
    entry: [ 
    'es5-shim/es5-shim', 
    'es5-shim/es5-sham', 
    'babel-polyfill', 
    './app/bundles/Main/startup/registration', 
    ], 
    output: { 
    filename: 'webpack-bundle.js', 
    path: __dirname + '/../app/assets/webpack', 
    }, 
    resolve: { 
    extensions: ['.js', '.jsx'], 
    }, 
    plugins: [ 
    new webpack.EnvironmentPlugin({ NODE_ENV: 'development' }), 
    ] 
} 

webpack.config.js 여기 모듈 맵핑에 devtools 소스 맵 추가),하지만 어쨌든 client/에 내 React code에 환경이 무엇인지보고 싶습니다. 내 옵션이 있다면 무엇입니까?

+0

내가 레일에 반작용에 대해 잘 모르겠지만, 내 반작용 환경에서 나는 같은 변수에 액세스 할 수 있습니다 - process.env.NODE_ENV을 : 나는 webpack.config.js에 아래 플러그인 정의와 웹팩에 NODE_ENV을 수출하고 있습니다. 너 그거 해봤 니? –

+0

예,'process'는 불행히도'/ client'에 정의되어 있지 않습니다. * webpack.config *에 있지만 액세스하거나 클라이언트 디렉토리에 전달하는 것이 이상적입니다. –

답변

0

방금 ​​Redux 작업 파일에서 process.env.NODE_ENV을 사용했습니다.

plugins: [ 
    ... 
    new webpack.DefinePlugin({ 
     'process.env': { 
      NODE_ENV: JSON.stringify('ENV_VALUE') 
     } 
    }) 
] 
관련 문제