所有,我正在开发一个高度交互的Web应用程序,它需要大量的jquery或js代码,而且我发现我的代码变得有点难以维护并且不是那么可读。有时甚至连作者都找不到指定的代码。
到目前为止,我为清晰代码所做的工作如下所示。
CustomTab.js
是我应用中的标签组件。)还有其他要点需要注意吗?无论如何,任何建议或建议使js库/框架容易miantanance的技术是指定的,谢谢。
答案 0 :(得分:4)
我建议您与RequireJS一起使用模块模式来组织JavaScript代码。对于生产,您将能够使用RequireJS优化器将您的模块构建到一个JavaScript文件中。
此外,如果您期望客户端应用程序非常庞大,请考虑使用Backbone.js等JavaScript MVC框架以及服务器端RESTful服务。
答案 1 :(得分:1)
我将这个命名空间模式用于我的库:
MyLibrary.ListView.js:
var MyLibrary = MyLibrary || {};
MyLibrary.ListView = {
doSomethingOnListView: function() {
...
return this;
},
doSpecialThing: function() {
...
return this;
},
init: function() {
// Additional methods to run for all pages
this.doSomethingOnListView();
return this;
}
};
无论哪个页面需要这个:
<script type="text/javascript" src="/js/MyLibrary.ListView.js"></script>
<script type="text/javascript">
$(function() {
MyLibrary.ListView
.init()
.doSpecialThing();
});
</script>
如果某个页面需要额外的功能,您甚至可以链接方法。
答案 2 :(得分:1)
目前我也正在为我的公司开发一个JS框架。我正在做的是我为JS使用OOP元素。换句话说,我正在为C#库实现类似的代码(不是那么类似,模拟将是正确的单词)。作为C#中的一个例子,您使用Microsoft.Window.Forms,因此我可以使用JSOOP并使用方法扩展和覆盖来创建相同的场景。但是如果你在项目中走得太远,将你的JS代码转换为JSOOP将是非常耗时的。
使用JSLint,这将验证您的代码并降低可读的脚本引擎友好代码。虽然JSLint非常严格,所以你也可以使用JSHint。
为每个组件使用单独的文件是个好主意我也在这样做。
如果您愿意,可以下载jQuery开发人员版本,您可以大致了解他们如何创建框架。我学习了很多关于jQuery框架的东西!
答案 3 :(得分:1)