>웹 프론트엔드 >JS 튜토리얼 >vue.js를 사용하는 이유는 무엇입니까? 프론트엔드 개발자의 46%가 vue.js를 사용하고 있나요?

vue.js를 사용하는 이유는 무엇입니까? 프론트엔드 개발자의 46%가 vue.js를 사용하고 있나요?

青灯夜游
青灯夜游앞으로
2019-11-29 15:11:112248검색

vue.js를 사용하는 이유는 무엇입니까? 프론트엔드 개발자의 46%가 vue.js를 사용하고 있나요?

한 문장으로 요약: 데이터 바인딩 아이디어를 사용하여 Vue는 단일 페이지, 대규모 프런트 엔드 시스템 또는 모바일 앱의 인터페이스를 간단히 작성할 수 있습니다.

1. Vue.js란 무엇인가요?

● 프로그레시브 프레임워크

● 상향식 증분 개발 설계

● 배우기 쉬움

● 통합 쉬움

Vue.js(/vju?/로 발음, view와 유사)는 사용자 집합입니다. 구축 도구 인터페이스를 위한 프로그레시브 프레임워크. 다른 헤비급 프레임워크와 달리 Vue는 상향식 증분 개발 설계를 채택합니다. Vue의 핵심 라이브러리는 뷰 레이어에만 초점을 맞추고 있으며 다른 라이브러리나 기존 프로젝트와 학습하고 통합하기가 매우 쉽습니다. 반면 Vue는 Vue 생태계에서 지원하는 단일 파일 구성 요소 및 라이브러리로 개발된 복잡한 단일 페이지 애플리케이션을 완벽하게 구동할 수 있습니다.

[추천 강좌: vuejs 튜토리얼]

2. vue.js는 어떤 유형의 인터페이스에 적합한가요?

a. 양식 항목이 많습니다.

b. 사용자의 작업에 따라 내용을 수정해야 합니다.

Vue.js는 웹 버전과 유사한 웹사이트를 구축하는 데 사용되는 도구입니다. 양식 항목이 많으며 사용자 작업에 따라 내용을 수정해야 합니다. 수정이 이루어진 애플리케이션의 웹 버전입니다.

3. 단일 페이지 애플리케이션(SPA)이란 무엇인가요?

페이지는 애플리케이션(하위 애플리케이션)입니다.

이름에서 알 수 있듯이 단일 페이지 애플리케이션은 일반적으로 애플리케이션인 페이지를 의미합니다. 예를 들어 하위 애플리케이션일 수도 있습니다. , Zhihu의 페이지는 하위 애플리케이션으로 간주될 수 있습니다. 단일 페이지 애플리케이션에는 일반적으로 많은 대화형 처리가 있으며 페이지의 콘텐츠는 사용자 작업에 따라 동적으로 변경되어야 합니다.

4. 앞서 언급한 Zhihu의 웹 버전을 작성하는 데 JQuery를 사용할 수도 있습니다. 왜 Vue.js를 사용해야 하나요?

a. 제품은 반드시 반복적으로 수정되어야 합니다.

b. 수정으로 인해 DOM의 연결 및 중첩 수준이 변경되어 jquery 구조와 관련된 코드가 매우 복잡해질 수 있습니다. 해결하세요 이 질문

JQuery를 처음 작성할 때 ('#xxx').parent().parent().parent()와 같은 코드를 작성했던 것을 아직도 기억하시나요? 처음 글을 쓰실 때 페이지에 요소가 많지 않은 것 같아서 그냥 이 요소의 아버지의 아버지를 찾으시면 되지 않을까요? 댓글에 분명히 있습니다. 그러나 며칠 내에 프로젝트 팀 리더 또는 제품 관리자가 갑자기 귀하가 만든 웹 페이지에 대한 수정을 요청하면 이 수정 요청은 페이지 구조에 영향을 미치게 됩니다. 즉, DOM의 연결 및 중첩 수준이 변경됩니다. ('#xxx').parent().parent().parent()는 $('#xxx').parent().parent().parent().parent().parent( )가 될 수 있습니다.

이것은 아무것도 아닙니다. 앞으로는 제품 반복이 점점 더 빨라지고, 점점 더 많은 수정이 있을 것이며, 페이지에 하나 이상의 유사하고 중첩된 DOM 요소가 있게 될 것이므로 수정은 매우 힘들 것입니다. 게다가 페이지 요소에 대한 JQuery 선택기의 검색과 DOM 작업 자체에도 성능 손실이 있을 수 있습니다. 아마도 이 페이지를 열 때가 되면 점점 더 멈춰서 시작할 수 없게 될 것입니다.

이때 Vue.js를 배웠다면 이러한 불만은 더 이상 존재하지 않을 것입니다.

5. 프론트엔드에서 자주 언급되는 뷰 레이어는 무엇인가요? HTML의 DOM을 다른 부분과 독립적으로 레이어로 나눌 수 있습니다. 이 레이어를 뷰 레이어라고 합니다.

Vue의 핵심 라이브러리는 뷰 레이어에만 중점을 둡니다

6. jquery를 사용하여 완전한 페이지를 개발하는 과정은 무엇인가요? a, html 작성 프레임워크

b, CSS 장식

c, js 상호 작용

JQuery에 관해 얘기하면 JavaScript DOM 작업에 대해 이야기해야 합니다. Zhihu를 개발하기 위해 JQuery를 사용한다면 HTML의 DOM 구조를 조작하기 위해 JQuery에서 다양한 DOM 조작 방법을 사용해야 합니다.

이제 웹 애플리케이션을 추상화하면 HTML의 DOM은 실제로 뷰입니다. 웹 페이지는 DOM의 조합과 중첩을 통해 가장 기본적인 뷰 구조를 형성한 다음 CSS 수정을 통해 기본 뷰 구조에 "메이크업"을 적용합니다. "더 아름답게 보이려고요. 마지막으로 Interactive 부분에서는 JavaScript를 사용하여 사용자의 Interactive 요청을 수락하고, 이벤트 메커니즘을 통해 사용자의 Interactive 작업에 응답하고, 특정 DOM을 수정하는 등 이벤트 처리 기능에서 다양한 데이터를 수정해야 합니다. innerHTML 또는 innerText 부분.

7. Vue.js를 사용하면 웹 기반 프런트엔드 애플리케이션을 개발하는 것이 왜 그렇게 편리할까요? a, 선언적

b, 반응형 데이터 바인딩

c, 컴포넌트 기반 개발

d, Virtual DOM

Vue.js에는 선언적 및 반응형 데이터 바인딩이 있기 때문입니다. 컴포넌트 기반 개발에서는 또한 이름만 봐도 고급스러워 보이는 기술, Virtual DOM.

8. vue.js에서 자주 언급되는 동적 데이터 바인딩은 무엇인가요?

즉, vue.js는 데이터 변경에 자동으로 응답하고 모든 데이터를 수정하며 사용자가 코드에 미리 작성한 바인딩 관계에 따라 함께 바인딩된 내용을 봅니다. 이 바인딩 관계는 그림에서 입력 태그의 v-model 속성에 의해 선언되므로 다른 곳에서 대략적으로 vue.js를 선언적 렌더링 템플릿 엔진이라고 부르는 사람을 볼 수 있습니다.

9. 프론트엔드에서 컴포넌트 개발이 필요한 이유는 무엇인가요?

a. 비컴포넌트 개발 코드와 작업량이 매우 큽니다.

b. 수정이 생사보다 더 나쁩니다.

하지만 지금은 단일 페이지 애플리케이션을 만들고 있으므로 페이지 상호 작용과 구조가 매우 복잡합니다. 한 페이지에 많은 모듈을 작성해야 하고, 코드의 양과 모듈의 작업량이 너무 많아 원래 방법대로 개발하면 피곤해질 수 있습니다. 더욱이, 나중에 제품 요구사항이 변경되면 수정하기가 매우 번거로울 것입니다. div 중 하나를 이동한 후 다른 div도 따라와서 전체 페이지가 엉망이 되거나 일부 내부 DOM 이벤트가 발생할 수 있습니다. JavaScript의 이벤트 버블링 메커니즘으로 인해 수정되었습니다. 함수를 처리한 후 설명할 수 없는 다양한 버그가 나타납니다.

10. 프론트엔드에서는 컴포넌트 개발을 어떻게 진행하나요?

a. 객체 지향 백엔드에서 모듈식 아이디어를 차용합니다(일부 큰 기능을 여러 기능으로 분할한 다음 개발을 위해 다른 사람에게 할당)

b. 모듈 별도의 구성 요소(컴포넌트)로 분할됩니다. 먼저 상위 애플리케이션에 다양한 구성 요소 태그를 작성하고(피트를 점유함) 구성 요소 태그에 구성 요소에 전달할 매개 변수를 작성하면 됩니다. 기능은 동일하며 이 매개변수를 구성 요소의 속성이라고 합니다.) 그런 다음 다양한 구성 요소의 구현을 별도로 작성합니다(피트 채우기)

객체 지향 프로그래밍에서는 객체 지향 아이디어를 사용하여 패키지화할 수 있습니다. 다양한 모듈을 클래스로 나누거나 대규모 비즈니스 모듈을 더 작은 범주로 분할합니다. 프로세스 지향 프로그래밍에서는 일부 큰 기능을 여러 기능으로 분할한 다음 개발을 위해 이를 다른 사람에게 할당할 수도 있습니다.

프런트엔드 애플리케이션에서 프로그래밍과 같은 모듈을 캡슐화할 수도 있나요? 이는 컴포넌트 개발에 대한 아이디어를 소개합니다.

Vue.js는 단일 페이지 애플리케이션의 다양한 모듈을 컴포넌트를 통해 별도의 컴포넌트(컴포넌트)로 분할합니다. 먼저 상위 애플리케이션에 다양한 컴포넌트 태그를 작성하고(피트를 활용) 매개변수를 작성하면 됩니다. (함수에 매개변수를 전달하는 것과 마찬가지로 이 매개변수를 구성요소의 속성이라고 함) 구성요소 태그의 구성요소에 전달된 다음, 다양한 구성요소의 구현을 별도로 작성하고(구덩이 채우기) 전체 애플리케이션은 다음과 같습니다. 완료.

11. Virtual DOM 기술이 있는 이유는 무엇인가요?

a. 문제

요즘에는 많은 사람들이 집에 수십, 심지어 수백 M의 광섬유를 사용하기 시작했습니다. 웹페이지의 크기는 몇 백 KB에 불과하고, 브라우징 서버 자체도 많은 리소스 파일을 캐싱하고 있는데, 이전에 수십 M 파이버로 열었던 캐싱된 페이지를 여는 것이 여전히 느리게 느껴지는 이유는 무엇일까요?

b. 이유

(1) 브라우저 자체도 DOM을 처리할 때 성능 병목 현상이 발생합니다.

(2) JQuery나 기본 JavaScript DOM 작업 기능을 사용하여 DOM을 자주 조작할 때 브라우저는 지속적으로 새로운 DOM 트리를 렌더링해야 합니다.

DOM을 처리할 때 브라우저 자체에서 성능 병목 현상이 발생하기 때문입니다. 특히 기존 개발에서는 JQuery나 기본 JavaScript DOM 작업 기능을 사용하여 DOM을 자주 조작할 경우 브라우저가 지속적으로 새 DOM 트리를 렌더링하면 페이지가 보이는 현상이 발생하기 때문입니다. 매우 붙어 있습니다.

12. 가상 DOM을 구현하는 방법은 무엇입니까?

a. dom의 다양한 연산을 미리 계산하고 마지막 결과를 렌더링합니다. (dom 렌더링 수를 줄입니다.)

그리고 Virtual DOM은 간단히 말해서 virtual DOM의 영어 이름입니다. 최종 DOM 연산을 계산하고 최적화하기 위해 JavaScript를 통해 다양한 계산을 수행합니다. 이 DOM 연산은 전처리 연산이고 실제로 DOM을 연산하는 것이 아니기 때문에 가상 DOM이라고 합니다. 마지막으로 계산이 완료된 후 실제로 DOM 작업이 제출되고 DOM 작업 변경 사항이 DOM 트리에 반영됩니다.

13. 단일 페이지 애플리케이션 개발에 Vue.js를 사용하는 방법은 무엇입니까?

사실, 학습 영상을 보고 작업을 시작해도 됩니다. 소개 - vue.js 공식 문서의 기본 부분을 먼저 읽어 보는 것이 좋습니다. 소개 - vue.js 공식 문서의 기본 부분을 읽어보세요. 모호한 용어가 많이 포함된 구성 요소 섹션을 제외하고 이전 장에서는 Vue.js를 템플릿 엔진으로 사용했습니다.

b, ECMAScript6, Webpack, NPM 및 Vue-Cli의 기본 사용법은 Node.js에 대해 어느 정도 이해하는 것이 가장 좋습니다

그런 다음 ECMAScript6, Webpack, NPM 및 Vue-Cli의 기본 사용법을 배우기 시작합니다. 알아두는 것이 가장 좋습니다. Node.js도 이해해야 합니다.

c. 인터넷과 다른 사람들의 오픈소스 코드에서 다양한 실용적인 동영상과 기사를 시청하세요

마지막으로 컴포넌트 부분을 먼저 대략적으로 살펴보겠습니다. 컴포넌트에 대한 개념을 이해한 후, 인터넷에 떠도는 다양한 실습 영상과 글은 물론, 다른 분들의 오픈소스 코드도 보기 시작했습니다.

14.ECMAScript란 무엇인가요?

ECMAScript와 JavaScript의 관계는 전자가 후자의 사양이고 후자는 전자의 구현이라는 것입니다(다른 ECMAScript 방언에는 Jscript 및 ActionScript가 포함됩니다). 일상적인 상황에서는 이 두 단어를 서로 바꿔서 사용할 수 있습니다.

그리고 ECMAScript6은 차세대 JavaScript 언어입니다.

15.웹팩이란?

a, 프런트엔드 패키징 도구

Webpack은 프런트엔드 패키징 및 구축 도구입니다. 이전에 HTML, CSS, JavaScript를 직접 작성하고, link 태그를 통해 HTML 파일에 CSS를 도입하고, Script 태그의 src 속성을 통해 외부 JS 스크립트를 도입한 적이 있다면 이 도구가 확실히 낯설게 느껴질 것입니다. . 중요하지 않습니다. 먼저 Webpack을 사용해야 하는 이유를 이해한 다음 그 이유를 살펴보겠습니다.

16. 왜 Webpack을 사용하나요?

a. 다양한 자료의 편리한 관리

b. 브라우저 방문 횟수를 줄이기 위한 패키징

앞서 언급했듯이 단일 페이지 애플리케이션을 만드는 것 자체가 상당히 복잡하고, 할 때 확실히 많이 사용됩니다. 자료 및 기타 타사 라이브러리를 어떻게 관리해야 합니까?

앞서 언급했듯이 Webpack은 프런트엔드 패키징 도구입니다. 왜 프런트엔드 코드를 패키징해야 할까요? 단일 페이지 애플리케이션에서는 많은 자료가 사용되기 때문에 각 자료가 HTML의 src 속성이나 링크를 통해 소개된 경우 페이지를 요청할 때 브라우저는 10개 이상의 요청을 시작해야 할 수 있으며 종종 이러한 리소스를 요청합니다. 모든 스크립트 코드 또는 매우 작은 그림 이러한 리소스 자체는 단지 몇 킬로바이트에 불과하며 다운로드하는 데 1초도 걸리지 않습니다. 그러나 HTTP는 응용 프로그램 계층 프로토콜이므로 하위 계층은 전송 계층 프로토콜이며 TCP의 핸드셰이크 및 웨이브 프로세스는 리소스 자체를 다운로드하는 것보다 시간이 더 오래 걸릴 수 있으므로 이러한 작은 파일을 모두 하나의 파일로 패키지해야 합니다. 이러한 방식으로 단 하나의 TCP 핸드셰이크 및 웨이브 프로세스에서 여러 리소스를 다운로드할 수 있습니다. 모두 HTTP 요청을 공유하므로 헤드와 기타 부분도 공유됩니다. 이는 크기 조정 효과를 형성하는 것과 동일하여 웹 페이지 표시가 더 빨라지고 사용자 경험이 향상됩니다.

17. NPM과 Node.js가 무엇인가요? 그들의 관계는 무엇입니까?

a.Node.js는 서버측 JavaScript 실행 환경입니다.

Node.js는 Node.js를 통해 독립적인 프로그램을 작성할 수 있습니다.

b. Node.js는 독립적인 프로그램을 작성할 수 있습니다. (Webpack은 Node.js로 작성됩니다.)

앞서 언급했듯이 Webpack은 Node.js로 작성되므로, 사용하지 않더라도 프론트 엔드 개발로 Node.js를 사용하여 독립적인 프로그램을 작성하려면 프로그램에는 Node.js 실행 환경도 갖춰져야 합니다. 결국 많은 프런트엔드 도구가 이를 사용하여 작성됩니다.

c. NPM은 node.js 패키지 관리자입니다(Java의 Maven(패키지 종속성 관리)과 유사하며 PHP에도 유사합니다).

NPM은 node.js 패키지 관리자입니다. 우리가 전통적인 개발을 할 때는 대부분의 JQuery.js를 Baidu에서 검색한 후 공식 웹사이트에서 다운로드하거나 CDN 리소스를 직접 도입하는 방식이 너무 번거로웠습니다. 나중에 다른 패키지를 만나면 이 패키지의 코드 자체가 다른 패키지를 호출할 수 있습니다(이 패키지는 여러 다른 패키지에 종속되어 있다고도 합니다). 그런 다음 프로젝트에 패키지를 도입해야 합니다. 매우 어렵다. 이제 NPM 패키지 관리자가 있으므로

npm install xxx包名称

(예:

npm install vue

18)을 통해 직접 소개할 수 있습니다.

vue.js 스캐폴딩 도구입니다. 직설적으로 말하면 프로젝트 디렉터리 생성, Webpack 및 다양한 종속 패키지 구성을 자동으로 도와주는 도구입니다.

npm install vue-cli -g

를 통해 설치할 수 있습니다. 다음 -g는 전역 설치를 의미하므로 명령을 열 수 있습니다. 해당 줄 다음에 vue 명령을 통해 직접 호출하세요.

19. Vuex와 Vue-route는 무엇인가요?

Vuex는 vue의 상태 관리자입니다. 단일 페이지 애플리케이션의 다양한 상태를 중앙에서 관리하는 데 사용됩니다.

Vue-route는 vue의 프런트 엔드 라우터입니다. 이 라우터는 우리가 인터넷에 액세스하는 데 사용하는 라우터가 아니라 요청 항목과 페이지 간의 매핑 관계를 관리하는 것입니다. 새로 고치지 않고도 페이지의 일부를 교체할 수 있어 사용자가 웹 페이지로 전환한 것처럼 느낄 수 있습니다.

이 두 가지를 명확하게 설명하려면 많은 공간이 필요하므로 여기서는 간단히 언급하겠습니다. 가장 중요한 것은 vue.js 자체를 먼저 배우는 것입니다.

위 내용은 vue.js를 사용하는 이유는 무엇입니까? 프론트엔드 개발자의 46%가 vue.js를 사용하고 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 51cto.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제