【问题标题】:Meteor: How to separate local environment from production?Meteor:如何将本地环境与生产环境分开?
【发布时间】:2014-03-08 12:08:34
【问题描述】:

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

【问题讨论】:

    标签: node.js meteor


    【解决方案1】:

    你可以检查一下

    (服务器端)

    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,它只在开发模式下可用。这应该可以与您的流星应用程序一起使用,无需任何特殊配置。

    【讨论】:

      【解决方案2】:

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

      $ METEOR_ENV="production" meteor
      

      然后在服务器上:

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

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

      【讨论】:

      【解决方案3】:

      使用this package,您将拥有Meteor.isdevelopment,仅在开发中。也有其他软件包可以做同样的事情但不同。这是最简单的

      【讨论】:

      • 这和 Akshat 的答案不一样?
      • 这个包只在调试模式下可用。很简单
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-02
      • 2020-11-23
      • 1970-01-01
      • 2018-06-04
      • 2013-07-14
      • 2015-11-10
      相关资源
      最近更新 更多