これがどのように行われるかについて考えることすらできません。基本的に、フォルダーを想像してください。その中に静的なWebサイトがあります。すべての画像、スタイル、htmlファイルなどがあります。myNode applicationを使用して、このフォルダー内を調べ、.htmlファイルのみを取得し、.htmlファイルのみを選択しますその中に 'data-template = "home"'属性があります。
これは少し奇妙に思えるかもしれませんが、ユーザーが静的なWebサイトファイルをアップロードしてから、Nodeアプリがファイルに対して処理を行う必要があるプロジェクトの場合です。
とにかく、特定のファイルタイプを繰り返し処理してからそれらの内部を調べることに興味があっただけです。
ジェームス、ありがとう
このコードは、ディレクトリ内のすべてのファイルをスキャンしてから、.html
ファイルの内容を読み取り、その中で文字列data-template="home"
を探します。
var fs = require('fs');
fs.readdir('/path/to/html/files', function(err, files) {
files
.filter(function(file) { return file.substr(-5) === '.html'; })
.forEach(function(file) { fs.readFile(file, 'utf-8', function(err, contents) { inspectFile(contents); }); });
});
function inspectFile(contents) {
if (contents.indexOf('data-template="home"') != -1) {
// do something
}
}
さらに柔軟性が必要な場合は、cheerio
モジュールを使用して、その属性を持つHTMLファイル内の要素を探すこともできます。
var cheerio = require('cheerio');
function inspectFile(contents) {
var $ = cheerio.load(contents);
if ($('html[data-template="home"]').length) {
// do something
}
}
Nodejsファイルシステムモジュールを見てください。
http://nodejs.org/docs/v0.5.3/api/fs.html
Fs.readdir()を使用してすべてのファイルの名前を取得し、.htmlのファイルを読み取って 'data-template = home'を見つけることができます。