본문 바로가기
반응형

svelte14

Svelte - ko, en 사용 브라우저 별로 문자열 표시하기 아무래도 사이트를 개발하다보면, 다중언어를 지원해야 하는 상황이 종종 발생한다. 여기에서는 Svelte를 이용해서 다중 언어을 지원하는 가장 효율적인 방법에 대해서 고민한 내용을 정리해 보도록 하겠다. 다중언어는 필자는 다음과 같은 방식으로 개발할 예정이다. 1. 언어 파일 생성 2. 언어 파일 불러오기 3. 브라우저의 언어를 확인하여 텍스트 출력하기 언어 파일을 생성하는 이유는 추후 관리의 편의성을 위해서 각 언어별로 파일로 생성하여 관리하는 것을 추천한다. 다음은 en.json과 ko.json 파일 생성한 예이다. 1. 언어 파일 생성 en.json { "title": "Hello!", "text": "English Support" } ko.json { "title": "안녕하세요!", "text":.. 2023. 5. 7.
Node, Svelte - CORS 해결방안 필자도 CORS를 알고 있지만, 이번에는 프론트쪽 언어를 진행하면서 CORS를 다시금 경험하여 해결 방안을 Nodejs, Svelte 입장에서 정리해본다. CORS는 가장 요점만 정리한다면, 현재 도메인 이외의 경로에서 정보를 요청했을때, 사전에 요청을 현재 도메인이 허용하는지를 구성하도록 하여 해커의 공격을 막기 위한 브라우저의 보안 설정이라고 할 수 있다. 이를 해결하기 위해서는 2. 쿠키 정보를 공유하거나 1. Access-Control-Allow-Origin를 설정하거나 3. Proxy 설정을 하는 것이다. 각 방법에 대해서 간략히 정리해 본다. 1. 인증된 요청 (Credentialed Request) 통한 방법 인증된 요청 (Credentialed Request)은 인증 정보들 전달한다는 의미.. 2023. 1. 1.
Svelte - VSCode Can't find stylesheet to import scss prependData 설정 문제 해결 오랫만에 Svelte 코드를 수정할 일이 있어서 파일을 열었는데 온통 붉은 빛으로 물든다... 확인해보니, Can't find stylesheet to import scss 오류와 함께, svelte.config.js에서 지정한 prependData 설정이 잘못되었다고 한다. 흠... 한참을 들여다보다가, 문제의 원인을 확인한 부분은 바로... 경로에 있다는 것을 알게 되었다. 위 경로를 보면, ./src/scss/main.scss 상대 경로로 되어 있어 실제 사용할 때에는 문제가 없지만, VSCode입장에서는 어디인지 위치 확인이 원할하지 않은 문제.. 그래도 붉은색은 개발자에게 있어서 매우 불길한 색상이기에 검색을 해본 결과 절대 경로로 설정할 수 있는 방법을 찾았는데 아래와 같다. import pa.. 2022. 12. 15.
Svelte - Snowpack dev Port 조정 devOptions 사용 개발서버의 포트를 변경하기 위해서 찾아보던중 Snowpack 옵션중 devOptions을 변경해야 하는줄 알았다. 그럼 이에 대해서 알아보고자 한다. 설정을 하지 않으면 기본으로 지정된다. module.exports = { devOptions: { port: 8080, // 개발 서버를 실행할 포트 번호 fallback: 'index.html', // SPA인 경우 제공할 모든 사용자 경로 open: 'default', // 새 브라우저 탭에 개발 서버를 열기, “chrome”, “firefox”, “brave”등 설치 경로 지정 output: 'dashboard', // 콘솔의 출력 모드를 지정, "stream" | "dashbaord", 다중 실행시 stream으로 동일한 콘솔에 내용을 출력 host.. 2022. 7. 26.
Svelte - Docker + Nginx 를 이용한 배포하기 Svelte 배포시 Docker를 활용한 방법을 정리해보고자 한다. Svelte는 Build를 구성하였을때 최적화하여 Output을 만들어 주기 때문에 여기에 웹서비스를 함께 구성하면 효과적이다. 이때 함께 사용할 만한 옵션으로 Nginx가 효율성이 높다. 그럼 먼저 테스트 Application을 템플릿을 통해 구성하도록 하자. (본 작업은 만약 구성한 Svelte 앱이 없는 경우 최초에 진행하는 작업이다. 별도의 개발한 프로젝트가 있다면 생략한다.) npx degit sveltejs/template svelte_test cd svelte_test Dockerfile 생성 Dockerfile 구성은 어렵지 않다. 아래와 같이 package.json와 package-lock.json 파일을 복사한다. 그리.. 2022. 7. 25.
Svelte - TinyMCE 기본 사용, conf 옵션 활용 TinyMCE는 Svelte에서 활용할 수 있는 가장 유용한 Editor중 하나이다. 실제 필자가 Svelte에서 사용할 만한 Editor를 비교한 글을 작성한 적이 있는데, 그중 당연히 제일 좋았던 기억이 난다. Svelte - 쓸만한 OpenSource Editor 찾기 (asecurity.dev) 2022. 5. 10.
Svelte - TinyMce images_upload_handler Error - tinymce cannot read properties of undefined (reading 'then') 아마 Svelte에서만 발생하는 문제로 보인다. images_upload_handler 를 등록하면 아래와 같은 오류와 함께 진행이 되지 않는다. tinymce cannot read properties of undefined (reading 'then') TinyMCE를 통해 이미지관련된 이벤트를 효과적으로 처리하기 위해서는 별도의 평션을 만들어 이용해야하는데, 이부분에서 분명 백엔드에서 값을 가져왔지만 정상적으로 보이지 않는 에러가 발생한다. 하지만 표시가 되어야 할 source 경로에서는 아래 처럼 read 오류가 발생한다. 처음에는 브라우저의 CORS 문제로 생각하여 브라우저를 고쳐보았다. Mac - Chrome CORS Disable 실행 (asecurity.dev) Mac - Chrome COR.. 2022. 5. 10.
Svelte - 고유키를 통한 데이터 변경 확인 Svelte는 데이터가 추가되거나 삭제되었을 때에만 새롭게 화면을 렌더링 되는데, 현재 화면의 데이터가 변경되었다는 것을 인식시켜, 새롭게 랜더링하는 작업을 고유키를 통해서 설정이 가능하다. 여기에 고유키라는 값을 설정하여 해당 값이 변경된것을 확인할 수 있다. 아래와 같이 items를 구성할 경우 고유키를 설정하지 않을 경우 데이터 변경 유무를 확인 할 수 없는 필드가 발생할 수 있다. {#each items as {id, title, content}, i} title, content {/each} 고유키는 () 소괄호를 이용해서 고유키를 설정할 수 있는데, 바로 {#each items as {id, title, content}, i 부분에 ()를 이용해서 고유키를 설정할 값을 지정하자. 예제에서는 데.. 2022. 4. 26.
Svelte - TypeScript 사용하기 TypeScript는 클래스 기반 객체 지향 프로그래밍 지원과 같은 JavaScript의 새로운 기능을 지원한다. Svelte에서도 TypeScript를 기본적으로 사용이 가능하다. 아래와 같이 TypeScript를 script 구문에 지정해서 사용하면 된다. Svelte의 기본 Template인 github의 sveltejs/template를 이용하면, Javascript를 사용하는 기준으로 템플릿이 작성되어 있는데, TypeScript로 변환할 수 있는 방안이 템플릿안에 제공되는데 scripts 폴더 안에 setupTypeScript.js이다. 아래와 같이 명령을 실행하면, 템플릿 구조가 TypeScript를 사용하는 것으로 변경된다. node scripts/setupTypeScript.js App... 2022. 4. 13.