用于前端javascript开发/测试和生产的工作流/工具
Workflow/tools for frontend javascript development/test and production?
在生产环境中,Web前端javascript应用程序几乎没有"暴露",也就是说,声明为全局变量或附加到window
。
- 将所有代码最小化并附加到一个(或几个)js文件中;
- 几乎没有"暴露",即声明为全局变量或附加到
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进行单元测试,也可以从浏览器的控制台中询问它以检查它的状态。
是否有一个工具,或一组工具,或一些不同的方式来组织我的代码,以便有可能从开发版本传递到生产版本(这也将被最小化)?
没有一个单独的软件包或可执行文件可以让你100%地实现这个目标。您需要结合编辑器、命令行工具和浏览器来创建一个有效的web应用程序/javascript开发环境。
编辑3.18.13:为Sublime Web Inspector添加了一个链接。在Sublime Text中调试Javascript !http://sokolovstas.github.com/SublimeWebInspector/
要查找的东西:插件系统,系统高亮,检查,自动完成。如果你现在使用的编辑器支持插件,你最好的选择是坚持使用它,并设置检查和语法高亮。如果你正在寻找一些建议,下面所有的都是可靠的选择。
- Sublime Text 2(免费试用版)
- 短信伴侣(商业版,试用30天)
- VIM(免费)
- Webstorm(商业版,试用30天)
工作流工具:
我建议从一个高级的工具集开始,比如自耕工或线工。他们有些固执己见,但提供了一个完整的工作流程,可以让你快速完成工作。一旦你习惯了使用它,你就可以偷偷摸摸地挑选和定制它来满足你的需要。
Yeoman:提供脚手架,包管理,开发服务器,连接&
Lineman: Dev server, concatate &
咕噜声:更低的水平(自耕农和前锋都使用)。类似ruby的rake
VCS:不可忽视的是,一个好的基于命令行的VCS是必不可少的。我推荐使用Git,还是用你觉得舒服的东西开始。
浏览器中的开发工具将为您提供控制台和调试工具。花些时间研究并真正了解如何使用浏览器中提供的开发工具。他们非常强大。
Webkit浏览器(Chrome或Safari):内置开发人员工具(命令选项J)。
Firefox + firebug
浏览器测试:强烈推荐使用browserstack进行跨浏览器测试
- 如何在批准露天共享中工作流的审核步骤之前添加确认对话框
- 用于绘制工作流图的JavaScript框架
- 将异步工作流更改为承诺(蓝鸟)
- if 子句在 JavaScript 中限定工作流
- 了解 JavaScript 对象实例或工作流
- 主题和弹性逻辑工作流
- 未捕获的类型错误:对象#<HTML对象元素>没有方法'重新绘制工作流'
- 如何在gump工作流中同时在独立文件和依赖文件中输出javascript
- 在CRM 2011中从JavaScript执行工作流
- 访问Alfresco工作流I'我从JavaScript开始
- 使用 JavaScript 框架的设计器工作流
- 节点 JS 使用异步请求同步工作流
- iOS PhoneGap 调试工作流
- 通过 JavaScript 结束 nintex 工作流
- RxJS 和主/工作线程工作流
- CRM 2011 - 使用 JavaScript 启用潜在顾客实体的工作流加载
- 使用Alfresco获取工作流的文件名
- 将流类型检查添加到 grunt 服务器开发工作流
- 用于前端javascript开发/测试和生产的工作流/工具
- 工作流和工具的流星