1

Web 前端 javascript 应用程序在生产中几乎没有“暴露”,即声明为全局 var 或附加到window.

  • 所有代码最小化并附加到一个(或几个)js文件;
  • 几乎没有“暴露”,即声明为全局 var 或附加到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 进行单元测试,还可以从浏览器的控制台询问它以检查它的状态。

是否有一个工具,或一组工具,或一些不同的方式来组织我的代码,以便可以从开发版本传递到生产版本(这也将被最小化)?

4

1 回答 1

1

没有可以安装的单个软件包或可执行文件可以让您 100% 顺利完成任务。您需要结合编辑器、命令行工具和浏览器来创建有效的 Web 应用程序/javascript 开发环境。

3.18.13:添加了 Sublime Web Inspector 的链接。在 Sublime Text 中调试 Javascript!http://sokolovstas.github.com/SublimeWebInspector/

编辑

要寻找的东西:插件系统、系统突出显示、linting、自动完成。如果你现在使用支持插件的编辑器,最好的办法是坚持使用它并设置 linting 和语法高亮。如果您正在寻找一些建议,以下所有这些都是可靠的选择。

  • Sublime Text 2(免费试用)
  • Textmate(商业,30 天试用)
  • VIM(免费)
  • Webstorm(商业,30天试用)

工作流程工具:

我建议从高级工具集开始,例如 Yeoman 或 lineman。他们有些固执己见,但提供了完整的工作流程,可以让您快速完成工作。一旦您习惯了使用它,您就可以窥视并根据您的需要挑选和定制它。

  • Yeoman:提供脚手架、包管理、开发服务器、连接和缩小并将运行规范

  • Lineman:开发服务器,连接和缩小,运行规范

  • Grunt:更低级别(由 Yeoman 和 Lineman 使用)。类似于 ruby​​ 的耙子

  • VCS:不容忽视,一个好的基于命令行的 VCS 是必不可少的。我推荐 Git,再次使用你熟悉的东西开始。

浏览器:

浏览器中的开发工具将为您提供控制台和调试工具。花一些时间研究并真正了解如何使用浏览器中提供的开发工具。他们非常强大。

  • Webkit 浏览器(Chrome 或 Safari):内置开发者工具(命令选项 J)。

  • 火狐+萤火虫

  • 浏览器测试:强烈推荐使用 browserstack 进行跨浏览器测试。

于 2013-03-15T11:58:50.550 回答