2016-10-20 2 views
0

전자를 통해 Atom을 사용하여 Node.js 앱을 개발 중입니다.Node.js에서 Atom을 통해 속성을 조건부로 설정하려면 어떻게해야합니까?

일부 속성을 조건부로 (또는 자동으로) 설정하려는 경우, 예를 들어 url은 생산 수준에서 http://some.url이어야합니다.

현재 이와 같이 사용하고 있습니다.

// win.loadURL('http://app.url/webchat'); //uncomment when production 
win.loadURL('http://test.app.url/webchat'); // uncomment when development 

이것은 매우 짜증나 며, 변경 사항을 놓친 경우 문제가 될 수 있습니다.

프로덕션/개발 수준에서 조건부로 속성을 변경하려면 어떻게해야합니까? dev에, 테스트, 자극 : 귀하의 응용 프로그램을 실행할 때

답변

1

을한다. 그런 다음 내 package.json에서 환경 별 빌드 명령을 추가했습니다. 예 : 찌르다 :

"build-prod-config": "config/buildProdConfig.sh", 
"build-renderer-prod": "webpack --config=webpack.config.renderer.prod.js", 
"build-main-prod": "webpack --config=webpack.config.main.prod.js", 
"build-prod": "npm run build-prod-config && npm run build-main-prod & npm run build-renderer-prod", 

buildProdConfig.sh 
#!/usr/bin/env bash 

cp config/app.config.prod.js config/app.config.js 
echo "Copied ProdConfig to Config" 

//This is what a config file looks like 
const Config = { 
    suppDataDirectoryPath: '/suppData/', 
    builtFor: 'prod', 
} 

module.exports = Config; 

나는 내 응용 프로그램에서 필요로하는 값을 사용하도록 설정해야한다. 이것은 현재 간단한 일이지만 작동합니다.

1
if (process.env.DEV === "PROD") { 
    win.loadURL('http://app.url/webchat'); 
} else { 
    win.loadURL('http://test.app.url/webchat'); 
} 

그럼 그냥 내가 다른 설정의 서로 다른 환경에 대한 파일이있는 config 디렉토리가

DEV="PROD" node app.js이든

관련 문제