Sailsを初心者向けに使用する機能(パート2)





あらすじ



この記事では、初心者がSailsJS MVCフレームワークのさまざまな機能を使用するためのヒントを集めました。 これらのヒントは、初心者にとってはなじみのない「秘密」を発見するのに役立ちます。このため、多くの松葉杖や自転車を書く人が多いため、この便利なツールを学ぶことへの熱意が主力に向けられているという理由で消えてしまいますシンプルで便利な方法を使用して簡単に回避できる通常のルーチン。 面白い?









SailsJSでサーバーにファイルをアップロードする



バージョン0.10以降のSailsには、デフォルトの組み込みの便利なオプションがあります-このフレームワークを少なくとも一度は使用したことがある誰もが知っているシンプルで便利なツールを使用して、サーバーにファイルをアップロードします。 param()リクエストメソッドを使用するだけで、GETまたはPOSTリクエストデータを受け入れることができることに慣れています。

var page = req.param('page'); //  'page'    
      
      





しかし、このメソッドには欠点があります-それは文字列のみを取ります。 そして、ファイルを操作する必要があります。何ができるでしょうか? Sailsには、このためのfile()リクエストメソッドがあります。

 req.file('file'); //  file -   
      
      





次に、Sailsチームによって作成されたSkipperライブラリが処理に入ります。これには、シンプルで理解しやすいAPIがあります。 次に、単純なコントローラーのコードを示し、APIの使用方法について詳しく説明します。

 module.exports = { index: function (req,res){ res.view(); }, upload: function (req, res) { req.file('file').upload({ dirname: 'uploads/', },function (err, files) { if (err) return res.serverError(err); return res.json({ message: files.length + '  () !', files: files }); }); } };
      
      





インデックス属性は、ページの単純な表示です。 さらにアンロード-要求によって送信されたファイルを要求します。 upload()メソッドは、2つの引数オプションオブジェクト、およびデータを含むコールバック関数)、エラー、およびファイルを受け入れます。 私たちの場合、サーバーにダウンロードした後、ファイルの数とサイズに関するデータを含むjsonで応答します。 ファイルは、AJAXと同様にフォームからのリクエストとして送信されますが、必要なメタ情報が含まれます。 最も単純なフォームでは、フォーム表現は次のようになります。

 <form action="/file/upload" enctype="multipart/form-data" method="post"> <input type="file" name="avatar" multiple="multiple"><br> <input type="submit" value=""> </form>
      
      







オプション


渡したオプションオブジェクトには、2つの値を含めることができます。



dirname(文字列)


ファイルをアップロードするフォルダーへのパス。 (デフォルトは「.tmp / uploads」です)



saveAs(コールバック)


ダウンロードされたファイルの名前を形成するロジックを決定する機能。指定されていない場合、古い名前と同じ名前のファイルが表示された場合、ファイルは上書きされます。 ベース引数はファイルオブジェクトです。 関数はファイル名を返す必要があります。 例:

 function (file) { return Math.random() + file.name; }
      
      







オプショナル


また、これに加えて、柔軟性のための方法として、追加機能を使用できます。

 req.file('file') //   .on('error', function onError() { ... }) //    .on('finish', function onSuccess() { ... }) //  .pipe(receiving)
      
      







GitHubのスキッパーライブラリページ。







Sails.log-セイルロギング



開発中にコンソールのいくつかのポイントを指定する必要がある場合、標準のconsole.log()コマンドは、sailsに組み込まれたコンソールロギングシステムであるsails.logほど効果的ではありません。 これらは小さな「砂糖」機能であり、コンソールでメッセージを色で強調表示できます-そして、それらがどのようなメッセージに属しているのか。 これは、多くのログに記録されたアクションが実行される場合に役立ちます。どのアクションがエラーまたは情報メッセージ、あるいは単に空の情報に属するのかが明確ではありません。 sails.logには6つの定義方法があります。 ここにあります:

 sails.log.error(''); //      error: sails.log.warn(''); //      warn: sails.log.debug(' '); //      debug: sails.log.info(''); //      info: //    : sails.log.verbose(' '); //     ( ) sails.log.silly('  '); //     
      
      







結論として



これで、Sailsの機能とその実用化への遠足の第2部が終了します。 次の記事では、「Mochaを使用してSailsアプリケーションの一部を単体テストする」などの問題と、SailsJSフレームワークを使用する際のその他の有用なポイントを取り上げます。



All Articles