2014-05-25 1 views
0

이것은 노드 모듈을 작성한 첫 시도입니다. 목적은 파일 (일반적으로 HTML 파일)을 파싱하고, 특정 성냥을 찾고, 성냥과 무언가를하는 것입니다.큰 문자열을 구문 분석하여 노드에서 JS 함수를 호출합니다.

readdirfs 모듈을 사용하고 해당 디렉토리의 각 파일을 찾은 다음 각 파일을 readFile으로 전달하면 파일 내용이 문자열로 반환됩니다.

나는 성냥을 찾기 위해 파일 (또는 긴 문자열)의 내용을 검색하고 관련 매개 변수를 얻은 다음 파일과 매개 변수를 다른 함수를 수행 할 함수로 전달합니다 시장 조작. 내 마음 속에서 HTML에서 데이터 속성을 찾는 것이 합리적 일 것입니다. 내가 data-option을 찾아 site-logo true 및 매개 변수로 함수에 파일 이름과 함께 전달할 싶어

<a href="/"> 
    <img class="site-logo" src="..." data-option="site-logo true" /> 
</a> 

예를 들어, 나는라면이 문자열을 검색 할 수 있습니다.

내 검색에서 indexOf() 또는 search()과 같은 방법을 사용하여 찾아 왔으며 일치하는 문자열 배열을 전달하지만 큰 파일의 경우 이는 매우 차단 될 것입니다. async 모듈을 사용하려면 ...). 그래서 SO 커뮤니티가 이것을 수행하는 데 영리한 제안을했는지 궁금합니다.

cheerio과 같은 것을 사용해야합니까? 그렇다면 어떻게 다른 파일 형식 (HTML이 아닌 파일)에도 사용할 수 있습니까? 어쩌면 정규식일까요?

도움 주셔서 감사합니다.

답변

1

HTML 콘텐츠에는 실제로 cheerio과 같은 것을 사용해야합니다. 비 HTML 자원의 경우, 형식에 따라 다르며, npm에 다른 형식을 처리하는 모듈이있을 수 있습니다. 그렇지 않다면 정규 표현식이 가장 좋은 방법 일 것입니다.

+0

감사합니다. 나는 그것을주고 어디서 볼지 :) –

관련 문제