【发布时间】:2014-03-08 12:08:34
【问题描述】:
我有两段代码:一段只能在本地环境中运行,另一段必须在生产环境中运行。在 Meteor 中最好的方法是什么?
【问题讨论】:
我有两段代码:一段只能在本地环境中运行,另一段必须在生产环境中运行。在 Meteor 中最好的方法是什么?
【问题讨论】:
你可以检查一下
(服务器端)
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_ENV="production" meteor
然后在服务器上:
if (process.env.METEOR_ENV === 'production') {
// production code here
} else {
// dev code here
}
如果你只有两个状态,你可以假设 !production = dev。
【讨论】:
使用this package,您将拥有Meteor.isdevelopment,仅在开发中。也有其他软件包可以做同样的事情但不同。这是最简单的
【讨论】: