我正在創建一個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