인프런 커뮤니티 질문&답변

SEOHWAN LEE님의 프로필 이미지
SEOHWAN LEE

작성한 질문수

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

[그랩마켓] Javascript 적용하기 - 2

prettier가 특정 파일에서만 안 먹히는 문제가 있습니다.

작성

·

2.4K

1

안녕하세요, 그랩님! 다름이 아니라, 잘 먹히던 prettier가 특정 파일에서만 적용되지 않는 문제점이 있습니다.

1. 프리티어를 지웠다가 다시 설치도 해보고, default formatter, format on save도 전부 체크하고 적용했지만 해당 코드 파일에서만 작동하지 않습니다.

2. 새 파일을 만들고 코드를 작성할 땐 적용이 되다가, 해당 코드를 복붙하는 순간부터 다시 프리티어가 적용되지 않습니다.

코드 상에 어떤 문제가 있는 것인지, 어떤 문제 때문인지 알 수 있을까요?

<!-- index.html은 메인 페이지, 혹은 시작점을 네이밍 할 때 개발자들이 index라고 많이 함. -->
<html>
<head>
<title>그랩마켓</title>
<link href="index.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="header">
<div id="header-area">
<img src="images/icons/logo.png" />
</div>
</div>
<div id="body">
<div id="banner">
<img src="images/banners/banner1.png" />
</div>
<h1>판매되는 상품들</h1>
<div id="product-list">
</div>
</div>
</div>
<div id="footer"></div>
</body>
<script>
var products = [{
name : '농구공',
price : 100000,
des : '이 농구공은 농구 황제 마이클 조던이 사용하던 농구공입니다.',
imageUrl : '/images/products/basketball2.jpg'
},{
name : '축구공',
price : 100000,
des : '이 축구공은 농구 황제 리오넬 메시가 사용하던 축구공입니다.',
imageUrl : '/images/products/soccerball1.jpg'
},{
name : '노트북',
price : 120000,
des : '이 노트북은 옛날에 만들어진 노트북입니다.',
imageUrl : '/images/products/notebook2.jpg'
}];
document.querySelector('#product-list').innerHTML = '<div class="product-card">'+
'<div>'+
'<img class="product-image" src="images/products/basketball1.jpeg" />'+
'</div>'+
'<div class="product-contents">'+
'<span class="product-name">' + '농구공 1호' + '</span>'+
'<span class="product-price">' + '50,000원' + '</span>'+
'<div class="product-seller">'+
'<img class="product-seller-avatar" src="images/icons/avatar.png" />'+
'<span class="product-seller-name">' + '그랩' + '</span>'+
'</div>'+
'</div>'+
'</div>'
</script>
</html>

답변 2

0

SEOHWAN LEE님의 프로필 이미지
SEOHWAN LEE
질문자

["INFO" - 12:39:55 PM] Extension Name: esbenp.prettier-vscode.
["INFO" - 12:39:55 PM] Extension Version: 6.4.0.
["INFO" - 12:39:58 PM] Formatting /Users/seohwan/Desktop/JS/grab-market/index.html
["INFO" - 12:39:58 PM] Using ignore file (if present) at /Users/seohwan/Desktop/JS/.prettierignore
["INFO" - 12:39:58 PM] File Info:
{
"ignored": false,
"inferredParser": "html"
}
["INFO" - 12:39:58 PM] No local configuration (i.e. .prettierrc or .editorconfig) detected, falling back to VS Code configuration
["INFO" - 12:39:58 PM] Prettier Options:
{
"arrowParens": "always",
"bracketSpacing": true,
"endOfLine": "lf",
"htmlWhitespaceSensitivity": "css",
"insertPragma": false,
"jsxBracketSameLine": false,
"jsxSingleQuote": false,
"printWidth": 80,
"proseWrap": "preserve",
"quoteProps": "as-needed",
"requirePragma": false,
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "es5",
"useTabs": false,
"vueIndentScriptAndStyle": false,
"filepath": "/Users/seohwan/Desktop/JS/grab-market/index.html",
"parser": "html"
}
["ERROR" - 12:39:58 PM] Error formatting document.
["ERROR" - 12:39:58 PM] Unexpected closing tag "div". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags (23:3)
21 | </div>
22 | </div>
> 23 | </div>
| ^^^^^^
24 | <div id="footer"></div>
25 | </body>
26 | <script>
SyntaxError: Unexpected closing tag "div". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags (23:3)
21 | </div>
22 | </div>
> 23 | </div>
| ^^^^^^
24 | <div id="footer"></div>
25 | </body>
26 | <script>
at U (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/parser-html.js:40:2776)
at Sn (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/parser-html.js:111:2300)
at yn (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/parser-html.js:111:3787)
at Object.parse (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/parser-html.js:111:4489)
at Object.parse$a [as parse] (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/index.js:14892:19)
at coreFormat (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/index.js:16425:16)
at formatWithCursor$1 (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/index.js:16665:14)
at /Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/index.js:60922:12
at Object.format (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/node_modules/prettier/index.js:60942:12)
at t.default.<anonymous> (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/dist/extension.js:1:16819)
at Generator.next (<anonymous>)
at s (/Users/seohwan/.vscode/extensions/esbenp.prettier-vscode-6.4.0/dist/extension.js:1:9119)
["INFO" - 12:39:58 PM] Formatting completed in 47.190024ms.
SEOHWAN LEE님의 프로필 이미지
SEOHWAN LEE
질문자

네, 말씀하신대로 프리티어 로그 기록도 첨부드립니다:)

그랩님의 프로필 이미지
그랩
지식공유자

로그를 확인해보니 <div id = "footer">  위에 </div> 태그가 하나 더들어간 것 같습니다. 하나 지워주시면 정상동작할 거에요~!

SEOHWAN LEE님의 프로필 이미지
SEOHWAN LEE
질문자

아....며칠을 고민했는데 너무나 감사합니다. 친절히 답변해주셔서 감사합니다!

0

그랩님의 프로필 이미지
그랩
지식공유자

아래 링크를 참고해보시겠어요?

https://detail-from-a-to-z.tistory.com/17

SEOHWAN LEE님의 프로필 이미지
SEOHWAN LEE
질문자

첨부해주신 링크를 통해 적용했으나 유독 이 파일 내에서만 아래 그림과 같이 하단부에 prettier 옆에 느낌표가 뜹니다. 파일을 열었을 때는 이 부분이 체크로 되어 있다가 save만 누르면 바로 주의 표시로 바뀝니다.

< save 누르기 전>

<save 누른 후>

그랩님의 프로필 이미지
그랩
지식공유자

저 prettier ! 부분을 누르면 로그가 나오는데 어떤 내용이 나오는 지 올려주실 수 있으신가요~?

그랩님의 프로필 이미지
그랩
지식공유자

현재 이 html 파일만 동작이 이상하면 우선 넘어가는 것도 빠를 것 같습니다!
react 쪽에서는 javascript 파일에 코드를 작성하고 prettier에 이상이 없는 편입니다 ㅎㅎ

SEOHWAN LEE님의 프로필 이미지
SEOHWAN LEE

작성한 질문수

질문하기