프런트 엔드 초보자가 grunt-file-dependencies를 개조해 보았습니다.
소개
자바스크립트의 결합 처리를 하려고 하면, 종속성에 시달리고 있었다.
htps : // 코 m / 타카 ゔ ぁ K / MS / db2684fd1545853d 2
그들은 grunt-file-dependencies를 사용하여 해결할 수 있다고 믿습니다.
또한 정의 부분과 이용 부분을 코드 위에서 해석하기 위해 다음과 같은 설정을 추가했습니다.
gruntfile.js file_dependencies: {
...: {
options: {
extractDefinesRegex: /(?!:["'])(PRJ(?:[\.][a-zA-Z]+)*)(?:\s*=)/g,
extractRequiresRegex: /(?!:["'])(PRJ(?:[\.][a-zA-Z]+)*)(?:\s*^=)/g,
}
그러나, 그렇게 간단하게는 가지 않는 것으로, 2개의 문제가 발생했습니다.
file_dependencies: {
...: {
options: {
extractDefinesRegex: /(?!:["'])(PRJ(?:[\.][a-zA-Z]+)*)(?:\s*=)/g,
extractRequiresRegex: /(?!:["'])(PRJ(?:[\.][a-zA-Z]+)*)(?:\s*^=)/g,
}
그래서 순환 참조 에러의 본환을 찾기 위해 플러그인을 개조하여 상기 문제를 해결하면서,
참조 관계를 시각화하기로 결정했습니다.
grunt-file-dependencies 개조
플러그인의 개조의 포인트는 4개입니다.
위 3개는 플러그인의 일부 함수를 변경하고 아래 1개는 dot 파일을 만드는 메커니즘을
내장해보기로 했습니다(dot 파일은 Graphviz로 이미징할 수 있다).
htps : // 기주 b. 코 m / 타카 ゔ ぁ ゜ k / g 룬 t 훗
※ 자세한 내용은 위의 포크를 참조하십시오.
시각화한 화상은 어떻게 되었는가 하면, 다음과 같은 느낌이 됩니다.
※ Graphviz의 설치 & 패스 추가와 VSCode에 Graphviz Preview라는 플러그인을 설치했습니다.
2018/9/4 현재, cyclemap.dot 라는 파일명 고정으로 만들고 있기 때문에, Pull 받는 품질이 아니고,
node_modules\grunt-file-dependencies\tasks\file_dependencies.js
를 수동으로 교체해야 합니다. 하지만 상당히 사용할 수 있는 툴이 되었다고 생각합니다.
TODO
추가한 옵션은 마음대로 붙이는 것이므로, option으로 전환을 할 수 있는 것과,
DRY의 법칙에 위배되므로 더 나은 수정 방법으로 전환해야 하지만,
일단, 사용할 수 있게 되었으므로 메모로서 남겨 둡니다.
아주 좋은 플러그인이므로, 이것들이 생기면, 받아들여주고 싶다-라고 생각하고 있습니다.
Reference
이 문제에 관하여(프런트 엔드 초보자가 grunt-file-dependencies를 개조해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/taka-vagyok/items/f7193313b17afc066818텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)