node.js - 如何通过Atom在Node.js中有条件地设置属性?

标签 node.js electron

我正在通过Atom与Electron开发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

这让我非常烦恼,当我错过更改评论时可能会遇到问题。

如何根据生产/开发水平有条件地更改我的属性?

最佳答案

我有一个配置目录,其中包含针对不同环境的不同配置文件:dev,test,prod。然后在我的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;

然后,在我的应用程序中需要的任何地方,我都需要Config并使用这些值。目前这是一件简单的事情,但它可以工作。

关于node.js - 如何通过Atom在Node.js中有条件地设置属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144253/

相关文章:

javascript - Moment.js 24小时时间格式,处理24小时

ruby-on-rails-3 - 在 Rails 和 Node.js 中使用 Redis pub/sub 作为消息队列进行异步

node.js - 在redis中使用nodejs扫描字符串

javascript - 从Electron中的Node.JS获取DOM JavaScript变量

javascript - Electron 中的上下文菜单

javascript - JS ES6 类构造函数行为

javascript -/tmp/chromium : error while loading shared libraries: libnss3. 所以:无法打开共享对象文件:没有这样的文件或目录 Vercel

angular - 如何在使用 Angular 的 Electron 应用程序中使用代码覆盖率?

javascript - 将 asar 包中的打包 JS 文件传递​​给生成的 Node 子进程

system - 如何在Electron中获取系统信息?