JSData は Sequelize.js を置き換えますか、それとも補完しますか? 私は、これら 2 つのライブラリがどのように一緒にプレイできるか、またそうすべきかどうかを理解しようとしています。
サーバーでは、js-data + js-data-sql が Sequelize を置き換えます。これは、js-data + js-data-mongodb が Mongoose を置き換えるのと同様です。js-data-sql は、内部で Knex.js を使用します。これは、スキーマの移行や、Knex がサポートするその他すべてに使用できます。validate
スキーマの検証では、ライフサイクル フック (およびその他の場所)を介して、お気に入りの検証ライブラリを js-data にプラグインできます。
Sequelize.js を使用する場合、サーバー側で JSData を使用する意味はありますか?
いいえ
サーバー側で Sequelize を使用し、それらのオブジェクトに何らかの REST API を実装し、クライアント側で JSData + JSDATA-http を使用して REST API にアクセスしようと考えていますが、オブジェクトを 2 回定義する必要があるように感じます... Sequelize 用に 1 回、JSData 用に 1 回 - これを 2 回行う必要を防ぐ魔法はありますか?
私は実際に、クライアントで js-data + js-data-http を使用し、サーバーで Sequelize を使用した経験があります。それを行うこともできますが、はい、Sequelize API を使用して 1 回、js-data API を使用して 1 回、各モデル/リソースを 2 回定義する必要があります。サーバーとクライアントで使用できる共通ロジックを「基本」モデルに抽出することで、重複を軽減できます。ただし、サーバーで js-data を使用すると、複雑なクエリをサーバーの ORM が理解できるものに変換することなく、クライアントで直接作成できます。
それとも、これらすべてについて間違った方法で考えていますか?
いいえ、あなたは自分の選択肢を理解しようとしているだけです。js-data の作成者として、もちろん js-data + js-data-sql を支持しますが、js-data + js-data-sql が Sequelize に遅れをとっている主な領域は、Sequelize がネイティブでサポートしていることです。 belongsToMany (n:m) の関係と、組み込みの sql データ型の理解 (検証は js-data を使用して行うことができます)。