나는 커피 스크립트 코드의 다음 줄을 가지고 자신의 위치를 이동하면서 HTML 블록의 기본적인 청소까지를 수행하는 (DCNT 및 sDesc 모두의 jQuery 객체)coffeescript 정규식에서 큰 따옴표를 어떻게 이스케이프해야합니까? 다음 자바 스크립트</p> <pre><code>dCnt.append(sDesc.html().replace(/<div/gi, '<p').replace(/</div>/gi, '</p>').replace /sstyle="text-align: center;"/gi, '') </code></pre> <p>이 출력 :
dCnt.append(sDesc.html().replace(/<div/gi, '<p').replace(/<\/div>/gi, '</p>').replace(/\sstyle="text-align: center;"/gi, ''));
처음 두을 대체 어떤 문제를 일으킬 수 없지만, 내 마음에 드는에 대한 세 번째는 커피 스크립트 컴파일러에 대처할 수있는 일을 마련하기 위해 약간의 작업을 수행하고 있으며, 결과가 너무 제한하고 깨지기 쉬운.
지금까지 내가 발견 한 : 나는 마지막 주위에 괄호()가있는 경우
이1) 커피 스크립트는 문자열로 따옴표를 해석하고 혼동 도착 후 교체 (그것은 슬래시 중 하나 해석 끝 부서로).
2) MATH 오류를 중지시키는 괄호를 제거하면 일반 표현식의 공백이 컴파일러를 혼동합니다. 위의 코드에서 \ s 대신 공백을 사용하는 출력은 혼란 스럽습니다. 마지막에 괄호) 교체 :
dCnt.append(sDesc.html().replace(/<div/gi, '<p').replace(/<\/div>/gi, '</p>').replace/(style = "text-align: center;"/gi), '');
교체가 괄호에 포함 된 세트에없는 경우에) 다음 공백을 코드에서 (즉, dCnt.append을 (제거합니다.) 및 별도의 줄에 그 처리 정규 표현식을 사용하면 컴파일러가 예기치 않은 ','오류를 발생하게됩니다 (이는 적어도 가비지 생성에 바람직합니다 ...).
괄호를 제거해야하므로 (coffeescript에서는 선택 사항이지만 코드 가독성을 크게 떨어 뜨리는 것으로 나타 났지만)이 문제로 인해 두 가지 함수 호출을 연결할 수는 없습니다.
누구나 jQuery 체인을 그대로 사용할 수있는이 문제에 대해 덜 취약한 솔루션을 생각해 낼 수 있습니까?
내가 놓친 '마법'수정본이 없을 것이라는 의혹이있었습니다. coffeescript를 사용하는 과정에 대해 동등한 것으로 보입니다.이 프로젝트는 제가 처음 사용한 프로젝트이며 배심원은 소개하는 것보다 더 많은 문제와 비효율을 해결하는지 여부에 관해 여전히 많은 것을 알고 있습니다. –
CS는 디버깅을 제외하고는 대단히 훌륭하지만 좋지 않은 부분은 Rails와 비슷합니다. (단, CS가 꽤 많이 평평한 동안 Rails를 사용할 때마다 "좋지 않은 부분"목록이 커집니다.) . –