#javascript #node.js
#javascript #node.js
Вопрос:
Я хочу найти все классы в js-файле и добавить его в массив с помощью NodeJS. Теперь у меня в консоли // открыто, но я хочу //открыть, карамболь (все результаты)
Смотрите мой код:
var fs = require('fs');
var regExp = /addClass([s'"]*(.*?)[s'"]*)/gm;
var res;
var file, match;
fs.readFile('assets/js/src/menu.js', (err, data) => {
if (err) throw err;
file = '' data;
match = regExp.exec(file);
console.log(file);
console.log('match: ' match[1],' type: ' typeof match, 'match length ' match.length);
});
и файл, в котором я ищу:
if (matchMedia('(max-width: 1023px)').matches) {
//console.log("under 1023px");
// Mega Menu Mobile
// Open main-menu
jQuery(".button__menu-open").on("click", function(e){
e.preventDefault();
jQuery(".menu__mobile").addClass("opened");
jQuery(".menu__mobile").addClass("carambar");
jQuery("html, body").addClass("menu-mobile--active");
});
// Close menu
jQuery(".button__menu-close").on("click", function(e){
e.preventDefault();
jQuery(".menu__mobile").removeClass("opened");
jQuery("html, body").removeClass("menu-mobile--active");
});
}
Спасибо вам
Ответ №1:
используйте while(совпадение), чтобы найти все вхождения
var fs = require('fs');
var regExp = /addClass([s'"]*(.*?)[s'"]*)/gm;
var res;
var file, match;
fs.readFile('b.js', (err, data) => {
if (err) throw err;
file = '' data;
while(match = regExp.exec(file)){
console.log('match: ' match[1],' type: ' typeof match, 'match length ' match.length);
}
});
Которые отображают :
совпадение: открытый тип: длина совпадения объекта 2 совпадение: тип карамболя: длина совпадения объекта 2
совпадение: меню-мобильный —активный тип: длина совпадения объекта 2