生产中的Web前端javascript应用程序几乎没有“暴露”,即声明为全局var或附加到window
。
window
。在开发过程中,如果代码可读,分成几个文件,并且还可以从控制台访问原型和相关实例,那么生活会更容易。
为了更清楚(不考虑最小化,这很容易通过许多不同的工具获得),在制作中我会有类似的东西:
(function() {
var Greeter = function() {
};
Greeter.prototype.msg = function() {
return 'Hello, world!';
};
Greeter.prototype.greet = function() {
console.log(this.msg());
};
new Greeter().greet();
}());
通过这种方式,我的代码可以在不暴露任何内容的情况下完成任务:Greeter对象及其实例都不会被其他代码访问。
(当然这只是实现这一目标的众多方法之一,但这不是问题的重点)。
但是,调试此代码很难,并且单元测试是不可能的。
为了允许调试和测试,我通常会将Greeter及其实例附加到window
对象或其他对象。
因此,在开发过程中,我会使用类似的东西:
(function() {
var Greeter = function() {
};
Greeter.prototype.msg = function() {
return 'Hello, world!';
};
Greeter.prototype.greet = function() {
console.log(this.msg());
};
window.Greeter = Greeter;
window.greeter = new Greeter();
window.greeter.greet();
}());
通过这种方式,我可以对Greeter进行单元测试,也可以从浏览器的控制台查询它以检查其状态。
是否有工具或一组工具或某种不同的方式来组织我的代码,以便可以从开发版本传递到生产版本(也将最小化)?
答案 0 :(得分:1)
您无法安装单个软件包或可执行文件,这将使您100%完成任务。您需要结合编辑器,命令行工具和浏览器来创建有效的Web应用程序/ javascript开发环境。
3.18.13:为Sublime Web Inspector添加了一个链接。在Sublime Text中调试Javascript! http://sokolovstas.github.com/SublimeWebInspector/
要寻找的东西:插件系统,系统突出显示,linting,自动完成。如果您现在使用的是支持插件的编辑器,最好的办法是坚持使用它并设置linting和语法高亮。如果您正在寻找一些建议,以下所有内容都是可靠的选择。
我建议从像Yeoman或lineman这样的高级工具集开始。他们有些自以为是,但提供了完整的工作流程,可以让您快速完成工作。一旦您习惯使用它,您可以在封面下窥视并根据您的需要进行选择和定制。
Yeoman:提供脚手架,包管理,开发服务器,连接和连接;缩小并运行规格
Lineman:Dev server,concatenate&缩小,运行规格
Grunt:更低级别(由Yeoman和Lineman使用)。与ruby's rake相似
VCS:不容忽视,基于VCS的良好命令行至关重要。我推荐Git,再次使用你熟悉的东西开始。
浏览器中的开发工具将为您提供控制台和调试工具。花一些时间研究并真正了解如何使用浏览器中提供的开发工具。它们非常强大。
Webkit浏览器(Chrome或Safari):内置开发人员工具(命令选项J)。
Firefox + firebug
浏览器测试:强烈推荐使用browserstack进行跨浏览器测试。