流星:如何将当地环境与生产分开?

时间:2014-03-08 12:08:34

标签: node.js meteor

我有两段代码:一段只能在本地环境中运行,另一段在生产中。在Meteor中最好的方法是什么?

3 个答案:

答案 0 :(得分:3)

您可以查看

(服务器端)

var isDevelopment = function() {
    var i = WebApp.clientProgram.manifest.length;
    while(i--) {
        if('sourceMap' in WebApp.clientProgram.manifest[i]) return true;
    }
    return false;
}

if(isDevelopment()) {
    console.log("Dev mode");
}else{
    console.log("Production");
}

我们的想法是检查JS Source Maps,它只能在开发模式下使用。这应该与你的meteor应用程序开箱即用,没有任何特殊配置。

答案 1 :(得分:1)

我更喜欢设置服务器可以读取的环境变量。例如:

$ METEOR_ENV="production" meteor

然后在服务器上:

if (process.env.METEOR_ENV === 'production') {
  // production code here
} else {
  // dev code here
}

如果你只有两种状态,你可以假设!production = dev。

答案 2 :(得分:0)

使用this package,您只有Meteor.isdevelopment才能进行开发。还有其他包也可以做同样的事情,但不同。这是最简单的