Node.jsでjQueryを利用する
JavaScriptでのDOM操作とかをクライアントでjQueryを使っていると、サーバ側でも使いたくなります。何せ楽ですからね。
という事で、jQueryを使ってみました。
いつもの通り、インストールから。
$ mkdir jquery_sample $ cd jquery_sample && npm init $ npm install jquery --save
サンプルはHTMLファイルを読込んで、DOM操作をして書き出す処理にしてみました。
index.html
<html><body><div id="hoge"><h1>h1 text</h1></div></body></html>
app.js
var $ = require('jquery'); var fs = require('fs'); fs.readFile(__dirname + '/index.html', function (err, data) { if (err) throw err; var body = data.toString(); console.log(body); console.log($(body).find('h1').text()); console.log($(body).find('#hoge').html()); body = $(body).find('h1').text('Hello World').parents('html')[0].outerHTML; console.log(body); console.log($(body).find('h1').text()); fs.writeFile(__dirname + '/out.html', body, 'utf-8', function(){ if (err) throw err; console.log('done'); }); });
実行結果
$ node app.js <html><body><div id="hoge"><h1>h1 text</h1></div></body></html> h1 text <h1>h1 text</h1> <html> <body> <div id="hoge"> <h1>Hello World</h1> </div> </body> </html> Hello World done
out..htmlも上記の操作後のHTMLになっています。