0

我有一个用 node.js 编写的 server.js 文件

我可以用 ... node server 启动服务器

或者我可以从 ... mimosa watch -s 开始

在我想做的 server.js 文件中...

if (this was started with mimosa) {
  do something
} else {
  do something else
}

我怎么能检测到这个?请不要回答诸如...你为什么要这样做?

目前我只能检测...

var thisIsMimosa = false;

exports.startServer = function (config, callback) {
  thisIsMimosa = true;
  startServer("mimosa");
};

if (thisIsMimosa == false) {
  startServer("node");
}

问题是...... thisIsMimosa 没有及时设置,因此当“节点服务器”用于启动服务器时,没有进行节点 startServer 调用。

如果有人知道一个变量,如果 mimosa 用于启动服务器,则该变量的值会有所不同,那么我可以依赖它。

提前谢谢了。

4

1 回答 1

0

mimosa-config.js是一段node.js。它不是一个.json文件。因此,您可以在该文件的顶部执行以下操作:

process.env.IS_MIMOSA = true;
export.config = {
  ...
}

然后在你的server.js你可以检查process.env.IS_MIMOSA。Mimosa 在运行您的服务器之前很久就读入您的配置文件,因此该变量应该可以使用了。

于 2014-11-06T19:12:52.540 回答