我正在创建一个web应用程序。对应用程序很短:Restful,后端是用Java编写的,我使用Wink。至于我想使用knockout.js的前端,我已经做了一些在线教程来适应框架。什么是库 - 接口后端(java)/前端(js敲除)
我已经玩了一下,为add-delete-search功能创建了ajax调用,并通过knockout.js在一个简单的html页面上显示检索到的记录。 我得到了建议首先创建库/名称空间,然后开始前端的其他任何事情。所以我决定退后一步并尝试创建这样的lib。
是的,我读了互联网上的大量文档(关闭,命名空间,JavaScript,一般的库,...),但不知何故,我仍然没有进一步与lib。
问题:
- 主要问题是:应该在LIB什么,如果是接口后端/前端?
- 我打算创建一个闭包(对于私人成员)。这个关闭是否是命名空间(与“命名空间” - 主题很少有关系?)?
- 究竟应该在这样的图书馆里做些什么?
- Ajax的通话
- 所有Ajax的通话和所有的辅助方法淘汰赛JS
- 模板显示字典的
- 视图模型? (或者这是另一个文件..)
我的图书馆的理解: 一个lib只是一个js文件,其中包括变量和函数,属于一个整体(封装)。一个lib使得代码可重用。 在库中使用名称空间很好,可以避免与其他库的冲突,并且使用闭包很好,可以“创建”私有变量和公共变量和函数。 我错了,从那里的任何假设?
您可能想看看[Swagger](https://developers.helloreverb.com/swagger/),它是为RESTful资源发布WSDL-like元数据的规范。你可以使用类似[amdatu](http://www.amdatu.org/components/web。html)的服务器端部分;它包含Wink并将生成Swagger元数据。如果需要,您应该可以使用该元数据为Knockout视图模型生成存根。然后,您可以使用JavaScript Swagger UI,将其指向元数据,并为所有ajax调用生成函数(因此您的库中不需要这些函数)。 –
如果你走这条路,就不会有很多事情要放在图书馆里。你大多会有特定于UI的东西,这些东西不容易重复使用,所以在试图将其抽象到一个库中时没有多大意义。 –
现在(这个项目)我宁愿想学习如何在JavaScript中做到这一点。所以这个项目的实际任务就是学习:'用js/knockout完成一个图书馆'。当然,我也希望完成这个项目 - 但是前端有js。不过谢谢你给Swagger的提示,我想以后我会试试看。 – Meru