私はFeathersの初心者ですが有望そうですので、SQL Serverデータベースに接続できるかどうかを確認しようとしていますが、正しく機能しています離れて。FeathersJS:sequelizeとSQL Serverの基本設定
私は私の接続文字列を編集し、私はnpm start
を実行したとき、それはスローとsrc/models/sqlserver.model.js
でエラーそして、docsに続き、feathers generate service
を使用:
==> const sqlserver = sequelizeClient.define('sqlserver', {...
TypeError: Cannot read property 'define' of undefined
ジェネレータはdefault.json
を編集し、すべてのこれらのファイルを追加しました:
/src
mssql.js
/services
index.js
sqlserver/
sqlserver.filters.js
sqlserver.hooks.js
sqlserver.service.js
しかし、ドキュメントには何も言及されていません(少なくとも私が理解したとおりではありません)。私はジェネレータがこれを設定する最も簡単な方法だと思うだろうが、ドキュメントはジェネレータの使用を無視しているように私には混乱し、すべてがapp.js
にある。
フェザーで基本的なSQL Serverサービスをセットアップするだけであれば誰でも提供できます。
これは、「sql」という名前の続編サービスを追加した後にサーバーを起動できるようにしたので、質問の最初の部分に回答していただきありがとうございます。しかし、私は "チャット"ガイドをやって、NeDBメッセージサービスではなくこのサービスを使用しようとしていますが、 'localhost:3030/sql'を打つと500エラーになります。 APIドキュメントはapp.jsのすべてを持つように見えるので、実際にデータベース接続をテストする方法はまだ分かりません。他人がこれに苦しんでいるのですか、あるいはJSのプロフェッショナルがフェザーに新しいことを教えてくれますか? – redOctober13
なぜ '/ sql'エンドポイントにヒットしようとしていますか? 'messages'サービスを作成しても、' localhost:3030/messages' – Daff
です。ジェネレータが名前を要求したときにサービス名を付けたものです。 問題の一部は、 'mssql.js'でこの行の後に接続の詳細をログアウトすると、' const {port、hostname、username、password} = connection; '、ユーザ名とパスワードは定義されていないと言います。 'url.parse()'関数は、usernameとpasswordを持つ 'auth'プロパティを持つオブジェクトを返しますが、それらの名前を持つ小道具は返しません。 – redOctober13