Parse platform 穷人的全球变量';解析云代码中的依赖注入

Parse platform 穷人的全球变量';解析云代码中的依赖注入,parse-platform,Parse Platform,我希望在我用于云代码的各个模块之间共享一个变量。 例如,我希望我能做到以下几点: Env = 'prod'; var Foo = require('cloud/foo.js').Foo; 在main.js中,我将有以下内容: Env = 'prod'; var Foo = require('cloud/foo.js').Foo; 然后在foo.js中,我希望能够访问Env的值 console.log("environment is: " + Env); 当部署在Parse上

我希望在我用于云代码的各个模块之间共享一个变量。 例如,我希望我能做到以下几点:

  Env = 'prod';
  var Foo = require('cloud/foo.js').Foo;
在main.js中,我将有以下内容:

  Env = 'prod';
  var Foo = require('cloud/foo.js').Foo;
然后在foo.js中,我希望能够访问Env的值

console.log("environment is: " + Env);
当部署在Parse上时,这不起作用,但如果在node.js中运行它,它会起作用

本质上,我所寻找的是一种穷人的依赖注入方式,它允许我使用node.js在本地环境中轻松测试我的云代码

在上面的例子中,Env将存储不同的信息,这些信息不同于云代码是在生产中执行(作为解析中的云函数)还是在测试中执行(在node.js中本地运行)。 [在上面的简单示例中,我在main.js中将Env设置为prod,并在测试脚本中将其设置为“test”。]


感谢您的帮助。

我通常为Dev/Prod使用两个解析环境。这样,我可以使用一个配置模块来检查当前的解析应用程序id(云代码中的Parse.applicationId)。您如何在本地调用您的解析服务器?在启动服务器并检查其是否存在于main.js中时,是否可以在本地使用node env变量?实际上,我正在按照您的建议执行--使用一个模块检查当前的解析应用程序id,以确定我运行的环境。这样做是有道理的。然而,我仍然想知道为什么云代码不允许跨模块查看全局变量。这在node.js中有效。我不确定为什么,但如果您不知道,Parse的云代码环境不是完整的node.js环境(例如,您不能使用npm包),因此可能会影响它。