使用Web应用程序时,我经常使用专为生产/服务器和本地环境设计的代码。
我还经常需要停用特定的功能(例如js,ruby,rails,java等)。
我面临的问题是,有时在发布新版本时我会错过激活或取消激活这些功能。
理想的事情(我认为)就是在部署到服务器之前运行你喜欢的on / off功能。所以你不要错过任何东西。
实施例
我在开发时注释掉了一个函数。
JS:
// foobar() FOR PRODUCTION
Ruby On Rails(production.rb):
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # FOR PRODUCTION
后者,当我需要使用生产设置测试本地的东西,但因为我没有安装特定的环境(nginx,appache)我不能使用它的功能。
我使用Sublime Text 2,3,如果它有一个特定的功能/代码块要取消注释/评论,那就太棒了。
你是如何工作的,所以你不会错过任何东西?
答案 0 :(得分:6)
这个问题并非特定于Sublime Text或任何文本编辑器,而是一个如何预处理和调试(JavaScript)源代码的一般性问题。
首先,最简单的方法是在代码库中使用某种全局调试标志。
window.DEBUG = true;
function log(a, b, c, d) {
if(DEBUG) {
console.log(a, b, c, d);
}
}
if(DEBUG) {
// Do dev stuff
} else {
// Do produection stuff
}
log("foobar") // Does not need to be wrapper, as log() itself is functional only in debug mode
您可以根据您的网址设置调试标记:
if(window.location.href.indexOf("localhost") >= 0) {
window.DEBUG = true;
}
将JavaScript部署到生产环境时,通常会通过最小化和捆绑工具来运行它。一个流行的工具是UglifyJS 2 which features constant elimination。使用此工具运行和部署JavaScript代码时,代码的if(DEBUG) { }
部分将被删除。
您可以使用Project>将任何工具连接到Sublime Text。构建脚本。
对于服务器端代码,您只需根据您的环境设置调试标志。每个框架(Ruby on rails)都有自己的方法,你需要在框架特定问题中询问具体细节。