ser2. 크롬 개발자도구 network탭 정보들 따오기
목차
0. webpack번들링과정에서 fs, axios등 모듈 import후 Module Not Found Error발생
1. content script와 DOMNodeInserted 이벤트
2. 크롬 개발자도구 network탭 정보들 따오기
3. ui개발시에 실시간으로 화면변화 확인
0. webpack번들링과정에서
fs, axios 등 모듈 import 후 Module Not Found Error발생
다 제치고 fs 를 쓰려고 할때마다
위와 같은 에러를 띄우며 실패를 합니다.
구글링을 해보아도
계속 webpack config파일에서 resoleve.fallback 을 수정해라
package.json에서 browser를 수정해라 등
무엇이 문제인지 모르겠습니다.
솔직한 심정으로는 webpack에 대한 전반이해와
commonjs , es modules 시스템들에 대한 이해부족이 원인임이 틀림없는데,
어디부터 시작해야 문제가 해결될지 몰라 여쭙습니다 ..
1. content script와 DOMNodeInserted 이벤트
content script를 이용해 특정 요소(ex. body) 안에 새로운 element들이 추가됐을 때
알아야 할 필요성이 있는 상황입니다.
그래서 전 단순하게
body.addEventListener('DOMNodeInserted', fn) 으로 박아두고 사용하는 방식을 택했는데
이게 정말 괜찮은 방법일까요?
여러 사이트를 테스트해보고 있는데 개발자 콘솔로 확인해보니
- 어떤곳은 가만히 놔두어도 이벤트가 발생하는 경우도 있고,
- 그냥 해당 엘리먼트 영역을 클릭만 했는데도 발생하는 경우도 있고,
예기치 못한 동작발생이 너무 발생해서 혼란스러운 상황입니다.
좋은 해결책이 있을까요?
선생님들은 어떤 방식을 사용하시나요?
2. 크롬 개발자도구 network탭 정보들 따오기
network 탭에서 확인되는 ts파일, m3u8파일들의 정보를 얻어와야 하는 상황입니다.
멀티미디어 파일인지라, 플레이어를 재생하는 타이밍이후에야 정보들이 넘어와서
extension내의 background파일로부터 해당 파일들의 정보를 가져오고자 마음먹었습니다.
대충 chrome문서를 봤을때는 chrome.devtools.network라는 것이 소개돼있어서
이걸 사용하면 되겠다 싶었는데.. 전혀 사용방식이 다른 api이더라구요 ㅠ.ㅠ
여기서 더이상 사고가 개진되지 못하고 완전히 막혀버리고
검색할 키워드도 뭣도 없는 상태입니다...
실날같은 팁이라도 알려주신다면 감사하겠습니다..
3. UI 개발시에 실시간으로 화면변화 확인
이건 질문이라기보다는 의견여쭙는 것입니다.
popup html파일을 빌드하고 확인하고 빌드하고 확인하고
이과정이 너무 갈수록 빌드시간이 길어지면서 힘들어서
결국 webpack devserver를 사용하기로 결심했는데
일반 웹페이지 개발하듯이 사용한다는 느낌으로 다들 쓰시나요?
익스텐션에서 popup 이나 option 파일 ui변화를
실시간으로 확인하고자 할때 따로 사용중이신 방안이나 아이디어가 있으시면 ,,,
생각나눠주십사 부탁드립니다ㅠㅠ
2. 크롬 개발자도구 network탭 정보들 따오기
2. 크롬 개발자도구 network탭 정보들 따오기
2. 크롬 개발자2. 크롬 개발자도구 network탭 정보들 따오기도구 network탭 정보들 따오기
2. 크롬 개발자도twork탭 정보들 따오기
난 확장은 웹팩 안씀 작은 규모의 프로젝트들은 웹팩 셋업하는게 훨씬 더 손해임
1 은 이벤트로 처리할게 아니라 mutationobserver 쓰는게 좋습니다
답변 감사드립니다 ㅠㅠ 알아보겠습니다..
fs는 node전용아님? 브라우저에서 못쓰는거아님?
https://developer.chrome.com/docs/extensions/reference/webRequest/
0. fs 모듈은 노드전용 api임. 자스 공식이 아님. 이걸 크롬에서 돌릴 순 없음. path등도 마찬가지임. 그래서 브라우저에서 돌릴 수 있게 친화적으로 만든 모듈들이 있는데 네이밍이 흔히 -browserify 등임. 노드의 api 내장모듈을 쓰는게 아니라 이런걸 써야함 - dc App
https://www.npmjs.com/package/path-browserify
https://www.npmjs.com/package/os-browserify
대충
이런식임
fs 모듈은 파일시스템이라 크롬확장프로그램 api를 써야할거임
속이 뻥 뚫리네요.. 어쩌구저쩌구 browserify install 하라는게 이런 말이었군요 .. *-* 암튼 감사드려요 ㅠㅠ
1. 이거 deprecated임. 성능문제가 있다고 들었음. MutationObserver써 - dc App
감사합니다... 왜이렇게 DomNodeInserted 검색결과가 없나했네요.. 좋은하루되세용 :O
2. 이건 멀티미디어 파일을 File객체로 로드해서 blob로 만들고 쓰는게 낫지않을까? - dc App
오 .. 알아보겠습니다 감사합니다
3. 개발모드로하면 디렉토리를 대상으로 로드하잖아. 이 디렉토리 파일이 수정되면 새로고침했을때 적용됐던걸로 기억함. 웹팩 devserver열고 했을 때 웹작업마냥 편하게 했던걸로 기억함 - dc App
1번은 그냥 쉽게 폴링하면 되는거 아님?? 폴링하면서 객체 생기면 폴링 중단하면 되자너, 2번은 크롬확장에선 불가능하고 크롬 데브툴 프로토콜인가? 그걸 써야됨. 사실 크롬개발자도구도 그 프로토콜을 사용해서 만들어진 거고 그 유명한 셀레니움도 그 프로토콜을 베이스로 구현된 라이브러리임
3번 빌드는 니가 빌드를 하는 ㅇ언어나 라이브러리를 써서 그런거 아님? 나는 자스로만 해서 왜 빌드가 필요한지 모르겟눼
3번은 크롬확장을 개발자모드로 안하고 있다는건가 나는 개발자모드로만 써서 뭔소리인지 이해를 못핛름
2번 네트워크 첨언하자면 프로토콜 쓸때 브라우저를 headless 로 띄워놓아야함 정말 개발하기 불편하게 되어있음
감사드립니다.. 다들 너무 친절하시네요 ㅠㅠ
2. 이건 그냥 다른사람이 만들어놓은 m3u8 sniffer 오픈소스 같은거 보고 하면됨.
https://github.com/Leenshady/m3u8Sniffer
3. ㅇㅇ 그렇게 하면됨. 웹팩 devserver + 크롬 확장중에 hotreload 하는방법 있어서 이거 적용하면 댐
감사합니다 소스살펴보도록 하겠슴니당 *-* . . !