2016-11-24 15 views
1

私はWeb技術と "クライアントサイド" node.jsを使用してデスクトップアプリケーションを作成しています。 NWJSを使用することで、ノード・モジュール「クライアント側」をロードできます。Node.jsを使用してjQueryのHTMLファイルを読む方法

ノードのfs.readFileのようなものを使用して、クライアント側の.htmlファイルをロードし、それを、たとえばどこかに追加できるjQueryオブジェクトに変換したいとします。

私はjQuery自体が​​-methodだと知っていますが、node.jsを使ってファイルをロードしたいと思います。

編集:RSP

の作業コードによって回答に基づいて、今取り組んでいる:あなたは同じ文脈でfs.readFilejQueryを使用することができるなら、あなたは、ファイルを読むことができ

fs.readFile('./views/main.html', function (err, html) 
{ 
    if (err) 
    { 
     throw err; 
    }  

    $('#toolview').empty().append($(html.toString())); 
}); 
+0

は、[以下の私の答え] DID(http://stackoverflow.com/questions/40790466/how-to-read- a-html-jquery-for-node-js/40791277#40791277)は役に立ちますか?コメントはありますか? – rsp

答えて

1

とjQueryで次のように解析します。

fs.readFile('/path/to/file', function (err, html) { 
    if (err) { 
    // handle error 
    } else { 
    var $html = $(html.toString()); 
    // now $html is a jQuery object 
    } 
}); 

jQueryで$('<p>abc</p>')を実行するとHTML文字列をjQuery関数に渡すと、jQueryオブジェクトが返されます。ここでの唯一の違いは、文字列がファイルから来たことです。

デフォルトでreadFileから得られるものは、文字列ではなくBufferです。 ES6にTypedArrayが追加される前に追加され、パフォーマンスの良いバイナリデータのファイルとストリームを処理できるようになりました。

バッファを文字列に変換するには、オプションでエンコーディング(デフォルトではUTF-8)、変換するバッファの開始と終了(デフォルトではバッファ全体)を使用するtoStringメソッドを使用できます。詳細情報については

は、以下を参照してください。

+0

申し訳ありません私はまだこれを試す時間がありませんでした。私はすぐに報告する - ish。しかし、これは有望に見えます。私はreadfileについてちょっと混乱しました。なぜなら、私はちょうどconsole.loggedしたとき、私には驚くほどの "ストリーム配列"が与えられましたが、.toStringがキーになるかもしれないからです! – Piwwoli

+0

ええ、あなたの答えは期待どおりに動作します!時間があれば、filestream(?)の結果に対してtoString()を呼び出すことができる理由と、それがどのように機能するのかについての説明を提供できますか? – Piwwoli

関連する問題