【发布时间】:2013-12-22 18:54:21
【问题描述】:
我正在创建一个网络应用程序。很快到应用程序:Restful,后端是用 Java 编写的,我使用 Wink。至于前端我想用knockout.js,我已经在网上做了一些教程来熟悉一下这个框架。
我已经玩了一下,并为添加-删除-搜索功能创建了 ajax 调用,并通过 knockout.js 在一个简单的 html 页面上显示检索到的记录。 我收到了先创建库/命名空间的建议,然后再开始前端的任何其他内容。所以我决定退后一步,尝试创建这样的库。
是的,我在互联网上阅读了大量文档(闭包、命名空间、javascript、一般的库,...),但不知何故,我仍然没有进一步了解该库。
问题:
- 主要问题是:如果是接口后端/前端,该库中应该包含什么?
- 我正计划创建一个闭包(针对私人成员)。那个闭包会是命名空间吗(我对“命名空间”主题不太了解)?
- 这样的库中究竟应该有什么?
- ajax 调用
- 所有 ajax 调用和所有辅助方法
- knockout-js 的视图模型
- 显示字典的模板? (或者这是另一个文件..)
我对图书馆的理解: 一个 Lib 只是一个 js 文件,其中包括属于一起的变量和函数(封装)。一个库使代码可重用。 在库中使用命名空间很好,可以避免与其他库发生冲突,使用闭包很好,能够“创建”私有和公共变量和函数。 我在上面的任何假设都错了吗?
【问题讨论】:
-
如果你走那条路,图书馆里就没有很多东西了;您将主要拥有难以重复使用的特定于 UI 的内容来编写,因此尝试将其抽象到库中没有多大意义。
-
现在(这个项目)我更想学习如何用javascript来做。所以该项目的实际任务是学习:“完成一个用 js/knockout 编写的库”。当然,我也想完成项目——但在前端使用 js。仍然感谢您对 Swagger 的提示,我想我稍后会尝试一下。
标签: javascript web-applications knockout.js interface namespaces