Vuejs에서 SVG를 사용하면 간단해집니다.

8181 단어 vuesvgnewbiewebdev

네트워크 이미지


인터넷에서 가장 자주 사용하는 이미지 형식은 비트맵,svg, 웹p를 포함한다.

비트맵


비트맵 이미지는 픽셀이라는 작은 점으로 구성됩니다.각 픽셀은 특정 색상을 지정하고 이미지를 형성하는 패턴으로 정렬된 사각형입니다.비트맵을 확대할 때 각 픽셀을 볼 수 있습니다.JPEG, PNG 및 GIF 등의 이미지 형식은 비트맵입니다.비트맵 형식은 사진과 같은 고도의 상세한 이미지에 적용된다.

WebP


WebP는 구글이 만든 고성능 이미지 형식으로 비트맵을 대체하기 위한 것이다.

SVG



축소 가능한 벡터 그래픽 (svg) 은 벡터 이미지 형식으로 수학 공식에 따라 만들어집니다. 렌더링 장치에서 계산할 수 있는 그리기 방법에 대한 정보는 첨부되지 않습니다.SVG는 비트맵보다 가벼워서 아이콘, 아트웍 등 확대/축소된 선명한 이미지를 만드는 데 사용됩니다.

SVG 구문

  • SVG는 XML(태그 언어)로 정의됩니다.
  • 다음 그림은 원본 코드의 SVG 예를 보여줍니다.

  • 정의를 분석해 봅시다. 💡SVG usually consists of a variety of elements e.g. <path>, </style>,<circle> etc. nested inside an svg element. The inner elements enclosed inside the svg tags are used to describe specific properties of the SVG whereas the outer svg element which is normally referred to as the root element basically instantiate and terminate an instance of SVG.The root element may contain attributes like viewBox, class, id, fill, height, width and xmlns. The id and class attributes are usually used to extend functionality in Javascript or to style the svg element. The id attribute may also be used in XML specific configurations like the setting up of links. The xmlns attribute is a XML namespace, it is used by the browser to determine how to render the SVG.

    Vuejs에서 SVG 사용

  • 일반적으로 SVG는 HTML 문서에 병합할 수 있습니다.
  • 직렬 또는
  • 외부 독립 파일입니다.
  • 위에 나열된 메서드는 Vuejs에서 사용할 수 있습니다.
  • 그러나 SVG를 Vuejs 웹 응용 프로그램에 통합하는 방법을 모색하기 전에우선, Vuejs에 SVG를 삽입하는 방법을 보여 주는 간단한 Vuejs 프로그램을 만듭니다.
    Vue CLI를 사용하여 프로젝트를 안내합니다.
    요구 사항:
  • Nodejs
  • Vue CLI
  • Vuejs 프로젝트를 만들려면 다음과 같이 하십시오.
  • 터미널 유형:
  • vue create <project-name>
    
    항목의 고유한 이름으로 바꾸기<project-name>.제 프로젝트는namesvg-tutorial입니다.
  • 그런 다음 응용 프로그램에 대한 사전 설정을 선택하라는 메시지가 표시됩니다. Enter 키를 눌러 본 문서의 기본 사전 설정을 선택하십시오.Default ([Vue 2] babel, eslint).
  • 그런 다음 Vue CLI에서 Vuejs 프로젝트를 생성할 때까지 기다립니다.
  • 프로젝트가 성공적으로 만들어졌을 때🎉, 터미널에서 다음 메시지가 표시됩니다.

    이 메시지는 편리한 명령을 포함하고 있습니다. 시작하세요!
  • 프로젝트의 파일 구조를 살펴보겠습니다. 특히 src 폴더는 SVG와 관련된 대부분의 작업이 이 폴더에 한정되기 때문입니다.
  • .
    ├── babel.config.js
    ├── node_modules
    ├── package.json
    ├── package-lock.json
    ├── public
    ├── README.md
    └── src
        ├── App.vue
        ├── assets
        │   └── logo.png
        ├── components
        │   └── HelloWorld.vue
        └── main.js
    
    • I have created a sample SVG to use in the interactive examples provided.. You may go ahead and download it by clicking this link.

    You may choose to rename the file, then proceed to add it to the root of the src/assets folder, such that the structure of the src folder is similar to the one below:

    .
    ├── App.vue
    ├── assets
    │   ├── logo.png
    │   └── sample.svg
    ├── components
    │   └── HelloWorld.vue
    └── main.js
    

    인라인 SVG

    When using this method you include the svg directly in your markup. It's important to mention that when the svg is directly embedded in the document or template as in the case of Vuejs ,there is no need to include the xlmns attribute.

    The pros of using this method are that you can use CSS to style your svg and use Javascript to extend its functionality just as you would a normal HTML element.

    The main drawback of this method is that if your svg is large or when you have a lot of svg your template, your template becomes cluttered. In that case it would be better incorporate SVGs as standalone files as it is explained in the next section.

    외부 SVG

    To embed an external SVG in your Vuejs template you use the methods listed below and always ensure that the xlmns attribute is included in the root element of the SVG otherwise none of the methods provided will work!

    💡
      xmlns="http://www.w3.org/2000/svg"
    
    (i) Vuejs 템플릿에 외부 svg를 이미지 요소로 포함합니다.

    주의: <file-name> 위에서 다운로드한svg 자원의 유일한 이름으로 바꿉니다.
    이 방법을 사용하면 문서에 실제로 존재하지 않지만 svg 요소에 봉인되어 있기 때문에 동작<img>을 제한할 수 있습니다.그래서 보통 그림처럼 처리할 수밖에 없어요.
    이러한 방법의 단점은 스타일 설정과 SVG 기능 확장에 대한 제한을 포함하고, 템플릿에 SVG가 많으면 이미지 요소에 포장하는 것이 상당히 번거롭다는 것이다.
    (ii) 사용SVG LoadersVuejs는 Webpack을 자산 바인딩기로 사용합니다.Webpack은 각 파일 유형에 대해 로드 프로그램을 사용합니다.일반적으로 Vue CLI를 사용하여 프로젝트를 부트할 때마다 일반적인 파일 유형의 로더가 미리 구성됩니다.이것은 이 파일 형식을 가져올 때 자동으로 읽을 수 있다는 것을 의미합니다.불행하게도 .svg 마운트가 미리 설정되지 않았기 때문에 npm에서 다운로드한 다음 수동으로 설정해야 합니다.
    npm에는 svg vuejs 불러오는 프로그램이 많이 있습니다.본 예에서 우리는 vue-svg-loader을 사용할 것이다.제공된 링크에는 설정 설명이 나열되어 있으며 Vuejs에 모듈을 설치하고 구성하지 않은 사용자는 다음 지침을 따릅니다.
    다음 지침은 Vue CLI를 사용하여 부트하는 프로젝트에만 적용됩니다.
  • 모듈을 설치하려면 터미널에서 다음 명령을 입력합니다.
  • npm i -D vue-svg-loader vue-template-compiler
    
  • 프로젝트 디렉토리의 루트 디렉토리에 vue.config.js 파일을 생성하여 다음 코드를 복사하여 붙여넣습니다.
  • module.exports = {
      chainWebpack: (config) => {
        const svgRule = config.module.rule('svg');
    
        svgRule.uses.clear();
    
        svgRule
          .use('babel-loader')
          .loader('babel-loader')
          .end()
          .use('vue-svg-loader')
          .loader('vue-svg-loader');
      },
    };
    
    변경 내용을 저장해야 합니다.
    축하합니다!!!🎊 vue-svg-loader 모듈의 설정을 성공적으로 설치하고 구성했습니다.
    이제 vue-svg-loader 모듈을 Vuejs에 SVG를 삽입하는 방법을 계속 배워보도록 하겠습니다.
  • 먼저 App.vue 디렉토리의 src 파일에서 모든 템플릿 코드를 삭제합니다.
  • 그리고 위의 코드를App.vue에 복사하고 변경 사항을 저장합니다.
  • 제가 사용하는 svg는 독립된 파일로 sample.svg라는 자산 폴더에 존재합니다. 이것은 귀하가 자산에 이름을 붙인 내용에 달려 있습니다.svg 파일에서 위의 코드를 조정해야 할 수도 있습니다.
  • 터미널에서 아래 명령을 실행하고 브라우저http://localhost:8080/에 접근하여 끼워넣는 SVG가 있는 Vuejs 프로그램을 보십시오🚀.
  • npm run serve
    
    이 방법을 사용하면 다음과 같은 이점이 있습니다.
  • 템플릿을 깨끗하게 유지
  • 또한svg의 스타일을 설정하거나 확장하는svg의 기능에 제한이 없습니다.
  • 도구책


  • What are Scalable Vector Graphics (SVG) & how are they special? | Web Demystified Episode 4
  • 좋은 웹페이지 즐겨찾기