제이드/퍼그로 인라인 자바스크립트를 렌더링하려면 어떻게 해야 합니까?
제이드(http://jade-lang.com/) 를 사용하여 자바스크립트를 내 페이지에 렌더링하려고 합니다.
프로젝트가 노드에 있습니다.익스프레스를 사용하는 JS, 머리에 인라인 자바스크립트를 쓰고 싶을 때까지 모든 것이 제대로 작동합니다.제이드 문서의 예를 들어봐도 제가 놓치고 있는 것은 무엇입니까?
옥본
!!! 5
html(lang="en")
head
title "Test"
script(type='text/javascript')
if (10 == 10) {
alert("working")
}
body
브라우저에서 렌더링된 HTML 결과
<!DOCTYPE html>
<html lang="en">
<head>
<title>"Test"</title>
<script type="text/javascript">
<if>(10 == 10) {<alert working></alert></if>}
</script>
</head>
<body>
</body>
</html>
여기서 분명히 뭔가 잘못된 생각이 있나요?
단순히 뒤에 점이 있는 'script' 태그를 사용합니다.
script.
var users = !{JSON.stringify(users).replace(/<\//g, "<\\/")}
https://github.com/pugjs/pug/blob/master/packages/pug/examples/dynamicscript.pug
그:javascript버전 7.0에서 필터가 제거되었습니다.
의사들은 당신이 사용해야 한다고 말합니다.script지금 태그, 다음에 a입니다..char 및 선행 공백 없음.
예:
script.
if (usingJade)
console.log('you are awesome')
else
console.log('use jade')
로 컴파일됩니다.
<script>
if (usingJade)
console.log('you are awesome')
else
console.log('use jade')
</script>
지정된 유형의 스크립트 태그를 사용합니다. 점 앞에 포함하기만 하면 됩니다.
script(type="text/javascript").
if (10 == 10) {
alert("working");
}
컴파일 대상:
<script type="text/javascript">
if (10 == 10) {
alert("working");
}
</script>
스크립트 태그만 사용 안 함.
를 사용한 솔루션|:
script
| if (10 == 10) {
| alert("working")
| }
아니면..:
script.
if (10 == 10) {
alert("working")
}
답변의 세 번째 버전:
여기 인라인 제이드 자바스크립트의 여러 줄 예제가 있습니다.저는 당신이 그것을 사용하지 않고 쓸 수 있다고 생각하지 않습니다.-이것은 제가 부분적으로 사용하는 플래시 메시지의 예입니다.이것이 도움이 되길 바랍니다!
-if(typeof(info) !== 'undefined')
-if (info)
- if(info.length){
ul
-info.forEach(function(info){
li= info
-})
-}
당신이 얻으려는 코드가 당신의 질문에 있는 코드입니까?
그렇다면 두 가지가 필요하지 않습니다. 첫째, 자바스크립트/스크립트라고 선언할 필요가 없습니다. 입력 후 코딩을 시작하면 됩니다.-두 번째, 입력 후-if입력할 필요가 없습니다.{또는}어느 하나.그게 제이드를 꽤 달콤하게 만드는 이유야.
---------------------------------------------------------------------------------
미리 준비해 보십시오.if와 함께-:
-if(10 == 10)
//do whatever you want here as long as it's indented two spaces from
the `-` above
제이드의 예는 다음과 같습니다.
https://github.com/visionmedia/jade/blob/master/examples/
script(nonce="some-nonce").
console.log("test");
//- Workaround
<script nonce="some-nonce">console.log("test");</script>
다중 행 콘텐츠의 경우 일반적으로 "|"을 사용하지만, 다음과 같습니다.
스크립트, 스타일 및 텍스트 영역과 같은 텍스트만 허용하는 태그에는 선행 문자 | 문자가 필요하지 않습니다.
이것은 당신이 겪고 있는 문제를 재현할 수 없다는 것을 의미합니다.제가 그 코드를 옥 템플릿에 붙여넣으면 올바른 출력이 생성되고 페이지 로드 시 경고 메시지가 나타납니다.
사용:javascript필터를 씌우기이렇게 하면 스크립트 태그가 생성되고 스크립트 내용이 CDATA로 이스케이프됩니다.
!!! 5
html(lang="en")
head
title "Test"
:javascript
if (10 == 10) {
alert("working")
}
body
언급URL : https://stackoverflow.com/questions/5858218/how-can-i-render-inline-javascript-with-jade-pug
'programing' 카테고리의 다른 글
| gradle build와 gradle bootJar의 차이점은 무엇입니까? (0) | 2023.06.28 |
|---|---|
| create oracle package funched PLS-00103: 기호 "CREATE"를 발견했습니다. (0) | 2023.06.23 |
| 재료 UI 자동 완성의 유형 스크립트 동일 문제 (0) | 2023.06.23 |
| Python 스타일 - 문자열이 있는 줄 연속? (0) | 2023.06.23 |
| '규칙 '@typescript-eslint/no-use-before-declar'에 대한 정의를 찾을 수 없습니다.eslint(@typescript-eslint/no-use-before-declar)'를 수정하는 방법 (0) | 2023.06.23 |