2016-10-20 78 views
0

我正在用Electrom通過Atom開發一個Node.js應用程序。如何通過Atom有條件地在Node.js中設置屬性?

我想有條件地(或自動)設置一些屬性,例如url在生產層面應該是http://some.url

目前,我使用這樣的。

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

這是非常煩人的,當我錯過更改評論時可能會出現問題。

如何根據生產/開發水平有條件地更改我的屬性?

回答

1

我有不同的環境不同的配置文件config目錄:開發,測試,督促。然後在我的package.json中添加了特定於環境的構建命令。例如對於prod:

"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'); 
} 

然後啓動您的應用時,只是做

DEV="PROD" node app.js或任何

相關問題