deployment - 在开发测试或者生产环境中,Meteor 应用程序如何知道它是否正在运行?

  显示原文与译文双语对照的内容
0 0

我需要使用不同的帐户作为Development meteor应用运行时,提供程序的配置测试或生产环境。

时间:原作者:8个回答

0 0

在服务器以上:

var inDevelopment = function () {
  return process.env.NODE_ENV === "development";
};
var inProduction = function () {
  return process.env.NODE_ENV === "production";
};

meteor在运行时设置环境变量NODE_ENV来" 开发" 。 meteor. 在生产环境中,你可以将该变量设置为随你们便,否则将默认为" 生产" 。

UPDATE : 我创建了一个smart package的机器用它来在客户机和服务器上。

mrt add allow-env

不仅仅是在服务器中设置权限规则文件。

allowEnv({
 NODE_ENV: 1
});
原作者:
0 0

可以使用Meteor.settings能够配合 --settings选项运行时使用 meteor runmeteor deploy.

例如,要运行在 dev模式,创建JSON文件,称之为meteorConfigDev json,并将以下内容置于其中:

{
  "public" : {
    "mode" : "dev"
  },
  "anotherProperty" : "anotherValue"
}

运行你的应用程序使用

meteor --settings meteorConfigDev.json

在服务器上,在客户端可以访问" 模式" 使用:

Meteor.settings.public.mode //in this case it will be "dev"

请注意,在" 公共设置" 既能用于服务器和客户端而其他内容( 本例中为" anotherProperty " ) 仅适用于服务器。

然后可以在不同的环境有不同的配置文件。

原作者:
0 0

很容易。 我运行我的app开五( 是,5 号) 不同的环境。 我只需使用上的Switch语句ROOT_URL如下图所示的四个不同的环境。 当然,可以使用if else if你只有2 环境。 在服务器上运行。 打一个新文件启动jsblocks并使用下面的代码示例调用。 干杯

switch (process.env.ROOT_URL) {
    case "http://www.production.com/":
       BLOCK OF CODE HERE
       break;
    case "http://www.staging.com/":
       BLOCK OF CODE HERE
       break;
    case "http://www.development.com/":
       BLOCK OF CODE HERE
       break;
    case "http://localhost:3000/":
       BLOCK OF CODE HERE
       break;
}

一般来说,java script中的switch语句的格式

switch(expression) {
    case n:
        code block
        break;
    case n:
        code block
        break;
    default:
        default code block
}
原作者:
0 0

特别麻烦的方法来实现这一点

https://github .com/possibilities/meteor环境挂钩

注: 接口已确定IMHO,该实现的麻烦

原作者:
0 0

有开始上的请求请求 GitHub这将允许该。 comment/Vote我只是不知道我是更有可能得到包括 !

原作者:
...