2016-06-23 11 views
5

analysiere Ich bin zu Grunt neu und versuche, eine Weise zu finden, mehrere HTML-Akten zu laden und sie zu analysieren, um einige Werte zu extrahieren.Wie man HTML zu DOM mit Grunt

Ich habe versucht, jQuery.parseHTML, HTMLParser zu verwenden, aber beide sind nicht definiert. Gibt es eine Möglichkeit, jQuery oder eine Lib einzuschließen, die HTML analysieren kann?

grunt.config.init({ 
    concat: { 
     options: { 
      dest: 'tmp', 
      templates: ['public/*.html'] 
     } 
    } 
}); 

var recursiveConcat = function(source, result){ 
    grunt.file.expand(source).forEach(function(file){ 
     var data = grunt.file.read(file); 
     // parse html to dom 
     result += data; 
    }); 
    return result; 
}; 
+0

Knoten ist kein Browser, also hat er kein 'Fenster' oder' Dokument'. Selbst wenn Sie jQuery laden, haben Sie immer noch keinen DOM-Parser. –

+1

Verwandte Fragen: [Wie analysiere ich eine HTML-Seite mit Node.js] (http://Stackoverflow.com/q/7372972), [Warum hat node.js kein natives DOM?] (Http: // stackoverflow.com/q/6657216) –

+0

Was hat das speziell mit Grunt zu tun? – dandavis

Antwort

0

Es sieht aus wie das Schreiben Ihrer eigenen Grunt Task ist ziemlich einfach. Beispiele und exemplarischen Vorgehensweisen here und here

dann erstellen Sie eine Aufgabe mit htmlparser, um Ihren Prozess zu verwalten.

aber es sei denn, Sie gehen diese wieder zu verwenden oder es mit einem anderen Grunzen Aufgabe zupassen (wie Grunzen-watch) Sie könnte es einfacher finden, um nur einen Knoten Skript zu erstellen HTMLParser mit

2

Cheerio ist ein DOM-Parser das ich gerne benutze. Ich habe das nicht versucht, aber grunt-dom-massager können Sie Cheerio in Ihrer Gruntfile laden.

+0

Danke, es funktioniert super mit Cheerio! :) – user1560922