웹 프론트엔드 JS 튜토리얼 Vue의 구성 요소 및 프레임워크 구조를 선택하는 방법

Vue의 구성 요소 및 프레임워크 구조를 선택하는 방법

Apr 13, 2018 pm 04:58 PM
어떻게

이번에는 Vue 컴포넌트 및 프레임워크 구조를 선택하는 방법과 Vue 컴포넌트 및 프레임워크 구조를 선택할 때 주의사항에 대해 알려드리겠습니다.

vue 프로젝트 인프라

Vue 프로젝트의 경우 가장 작은 하위 집합은 실제로 {vue, vue-router, 컴포넌트}라고 생각합니다. 기본 라이브러리로서 vue는 양방향 바인딩 및 기타 기능을 제공합니다. vue-router는 다양한 "페이지"를 연결하고 구성 요소는 스타일이나 동작으로 출력됩니다. 이 세 가지를 사용하여 가장 기본적인 정적 SPA 웹 사이트를 구현할 수 있습니다. 물론 여기서는 Vue Family 버킷의 광범위한 개념에 대해 이야기하지 않겠습니다. 주요 기술 사항을 하나씩 나열하겠습니다.

1.vue-cli: 기본 vue 프로젝트 뼈대 및 스캐폴딩 도구 구축

2.sass-loader&node-sass: 저는 sass를 스타일 사전 컴파일 도구로 사용합니다. 둘 다 필수입니다. less 또는 stylus를 직접 선택할 수도 있습니다.

3. postcss: 반응형 레이아웃을 구현하는 열쇠, px=>rem. 다도는 vw와 vh를 기반으로 레이아웃 계획을 제안했지만 당분간은 관망하는 태도를 취하고 있다.

4.vuex: 복잡한 데이터 흐름 관리, 상태 기계 도구, 전문 Flux

5.vuex-persistedstate: vuex

에서 상태를 유지하기 위한 도구 6.vue-router: SPA

사이의 "페이지" 간 점프를 실현합니다. 7.vue-lazyload: 이미지 지연 로딩 구현 및 http 전송 성능 최적화

8.vue-awesome-swiper: 캐러셀 기능 구현 및 일부 특수 전환 효과 완성

9.better-scroll: 목록 스크롤 및 상위 구성 요소와 하위 구성 요소 간의 스크롤 문제 구현

10.axios: API에서 데이터를 요청하고 인터셉터를 구현하는 http 도구

11.fastclick: 300ms 지연을 해결하는 라이브러리

위의 내용은 중대형 Vue 프로젝트에서 사용해야 한다고 생각하는 것입니다. 또한 이미지 업로드를 구현하는 데 사용한 jsx 구문과 같이 보편적이지 않은 경우에는 그렇게 할 것입니다. 사용하지 마십시오.

위에서 언급한 내용을 간략하게 설명하겠습니다. 일부 사항은 별도로 자세히 설명하겠습니다.

1.vue-cli:

https://github.com/vuejs/vue-cli

스캐폴딩 도구, 개발 기술 스택으로 vue를 선택하면 프로젝트를 위한 디렉터리 및 개발 환경 구축을 시작해야 합니다. 노드 설치 후, 후속 명령어를 통해 설치

npm install -g vue-cli 글로벌 환경에 vue-cli 설치

vue init webpack my-vue-demo는 webpack 템플릿을 기반으로 my-vue-demo 파일 이름이라는 vue 프로젝트를 생성합니다

여기에는 6개의 템플릿이 있지만 우리가 일반적으로 사용하는 템플릿은 webpack입니다.

이 기간 동안 코드 품질을 확인하기 위한 e2e 및 ESLint 도구와 같은 일부 단위 테스트 도구를 볼 수 있을 것입니다. 이러한 도구를 설치할 필요는 없을 것 같습니다.

위 그림은 vue-cli의 기본 구조를 제외하면 프로젝트 측면에서 비교적 성숙한 Vue 스켈레톤이다.

2&3 :sass,postcss

CSS를 직접 작성하는 시대는 지났습니다. 사전 컴파일된 스타일 프로세서는 생산성을 높이고 효율성을 높이는 데 도움이 됩니다. Sass, less, stylus는 각각 고유한 장점과 단점이 있으며 각각 추종자가 있습니다.

Sass를 사용하려면 sass-loader와 node-sass를 설치해야 합니다. 하지만 node-sass는 설치가 쉽지 않아 Taobao의 미러를 사용하는 것이 좋습니다. 설치가 완료된 후에도 여전히 오류를 구문 분석할 수 없는 경우 webpack.base.conf.js로 이동하여 해당 로더가 설정되었는지 확인해야 할 수 있습니다.

postcss

의 공통 기능 px2rem => px를 rem 단위로 변환하는 데 도움이 될 수 있습니다. 해당 변환 표준만 정의하면 됩니다.

autoprefixer => postcss도 호환성을 처리하는 데 도움이 될 수 있습니다.

rreee

4,5:vuex,vuex-persistedstate

https://github.com/robinvdvleuten/vuex-persistedstate

중대형 Vue 프로젝트에는 확실히 관리해야 할 복잡한 상태가 있습니다. 단순한 이벤트 버스는 더 이상 적합하지 않습니다.

特化的Flux架构,vuex就迎头顶上。简而言之:他就是我们处理无论是用户操作,API返回,URL变更等多重操作的状态管理工具。以后我会具体的说下vuex。

用过vuex的人,会发现一个很痛苦的地方,就是vuex里面的state,只要我们去刷新,它就被释放掉了。有的状态还好,没有了大不了我们可以让用户去重新操作一遍。但是像登录这样的操作,你不可能让用户刷一下就去登一下吧。当然,你会说,我们可以存到local啊,cookie里面啊。是可以!但是这样的话,state就和local里的数据形成了一种松散的关联,state显得十分的脆弱,因为你无法预知你什么时候会少写一个setStore这样的方法。vuex-persistedstate帮我们解决了这样的问题,它帮我们直接把state映射到了本地的缓存环境,我们可以在computed里面用vuex提供的mapState辅助函数,来动态的更新local里面的数据。而不需要持久化的state,我们依旧可以刷新来释放掉。

6.vue-router

当我们使用vue来构建SPA的应用时,就等于说我们完全的分离了前后端。或者通俗点的说:这就是一个纯前端的项目。后端仅仅提供数据,任何的逻辑都在前端实现。既然"脱离"了后端,那么肯定就没有request Mapping这样的同步映射url了。那么,前端就需要router来实现我们前端"页面"的跳转。vue-router就帮我们做了这样的事情,他提供给了路由守卫给我们,我们可以设置全局的,组件内的路由守卫,来实现特定的业务逻辑。 提供过渡动画,来更加生动的展示SPA应用应有的风采等等,这个以后也要具体的来说。

7.vue-lazyload

https://github.com/hilongjw/vue-lazyload

实现图片的懒加载。这是前端性能优化的一个必须面对的问题:图片。懒加载可以减少请求的数量,而且在很直观的视觉上,也有一个良好的过渡。当然,图片我们也是需要去做一些处理的,使用webp格式来减小图片的质量,或者通过oss来对图片作处理。

8.vue-awesome-swiper

https://github.com/surmon-china/vue-awesome-swiper

通过它可以实现基本轮播,横轴的切换,横轴的列表滚动等。

例如我要去实现四个tab切换这样的功能,但是简单的display这样的效果我又觉得不是很满意。那么我们就可以通过swiper来实现,每次tab里面的content都会对应swiper的一个swiper-item。切换的tab,其实就是swiper里面的next page或者before page.

data(){
  return{
    swiperOption: {
  slidesPerView :'auto',
  direction: 'horizontal',
  freeMode : true,
  loop: false,
  spaceBetween: 20,
    },
 }
}
로그인 후 복사
<swiper :options="swiperOption" ref="swiper" v-if="list&& list.length !== 0">
  <swiper-slide v-for="(item,index) in list" :key="index" class="hot-item">
  <router-link :to="{name:&#39;quickCar&#39;,params:{carID:item.CarID}}" class="description_car">
  <img v-lazy="item.Attachments.length !==0 && item.Attachments[0].FilePath"/>
   <span>¥{{item.price}}/日</span>
  </router-link>
  </swiper-slide>
 </swiper>
 <p class="noData" v-else></p>
로그인 후 복사

9.better-scroll

https://github.com/ustbhuangyi/better-scroll

实现纵轴列表的滚动,以及当有嵌套的路由的时候,通过better-scroll来实现的禁止父路由随着子路由的滚动的问题。

better-scroll其实也可以去实现横轴的滚动,但是为什么不使用better-scroll来处理呢?这是因为在better-scroll实现横轴滚动的时候,我们无法在better-scorll的content的内容区域里去下向拉动我们的页面。所以导致的一个Bug就是,在better-scroll横轴滚动的区域里,页面动不了了。

10.axios

基本功能就是通过axios来请求后台接口的数据。并且axios可以配合router更好的实现类似后台的拦截器的功能,例如处理token过期这样问题。因为当token过期的时候,仅仅通过vue-router的router.beforeEach来处理就有点无能为力了。这时候就需要配合后台响应返回的code来进行url的处理。

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

ajax实现简单实时验证功能

Vue.js怎样把递归组件构建为树形菜单

위 내용은 Vue의 구성 요소 및 프레임워크 구조를 선택하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

하얼빈 의과대학 임상약학 취업에 미래가 있나요? (하얼빈 의과대학 임상약학 취업 전망은 어떻습니까?) 하얼빈 의과대학 임상약학 취업에 미래가 있나요? (하얼빈 의과대학 임상약학 취업 전망은 어떻습니까?) Jan 02, 2024 pm 08:54 PM

하얼빈 의과대학 임상약학 취업 전망은 어떻습니까? 전국 취업 상황이 낙관적이지는 않지만 약학 졸업생의 취업 전망은 여전히 ​​좋습니다. 전반적으로 제약산업 졸업생의 공급은 수요보다 적다. 제약회사와 제약공장은 이러한 졸업생을 흡수하는 주요 통로이기도 하다. 보도에 따르면 최근 몇 년간 조제약품, 천연의약화학 등 전공 대학원생의 수급비율은 1:10에 달하기도 했다. 임상약학전공 취업방향: 임상의학을 전공하는 학생은 졸업 후 의료보건학과, 의학연구 및 기타 학과에서 진료, 예방, 의학연구 등에 종사할 수 있습니다. 채용 직위: 의료 담당자, 제약 영업 담당자, 영업 담당자, 영업 관리자, 지역 영업 관리자, 투자 관리자, 제품 관리자, 제품 전문가, 간호사

win10 이미지를 빠르게 다운로드하는 방법 win10 이미지를 빠르게 다운로드하는 방법 Jan 07, 2024 am 11:33 AM

최근 몇몇 친구들이 win10 이미지 파일을 다운로드하는 방법을 보고했습니다. 시중에 이미지 파일이 너무 많아서 다운로드할 일반 파일을 찾으려면 어떻게 해야 하나요? 오늘은 편집자가 이미지 다운로드 링크와 자세한 해결 단계를 함께 살펴보겠습니다. win10 이미지 빠른 다운로드 및 설치 튜토리얼 다운로드 링크 >>> 시스템 홈 Ghostwin101909 이미지 64비트 버전 v2019.11<<<>>>Win10 이미지 64비트 v2019.07<<<>>>Win10 이미지 32비트 v2019. 07<< <1. 인터넷으로 검색해 보세요.

임시 폴더를 정리하는 방법 임시 폴더를 정리하는 방법 Feb 22, 2024 am 09:15 AM

임시 폴더를 정리하는 방법 우리가 컴퓨터를 사용하면서 임시 파일(임시 파일)은 점차 쌓이게 됩니다. 이러한 임시 파일은 웹 검색 시 캐시 파일, 소프트웨어 설치 시 임시 파일 등과 같이 컴퓨터를 사용할 때 생성됩니다. 임시 폴더를 오랫동안 정리하지 않으면 많은 양의 디스크 공간을 차지하여 컴퓨터 속도에 영향을 줄 수 있습니다. 따라서 임시 폴더를 정기적으로 청소하는 것은 컴퓨터 성능을 유지하는 데 필요한 단계입니다. 아래에서는 임시 폴더를 정리하는 몇 가지 간단한 방법을 소개합니다. 방법 1: 수동으로 청소

Win10 시스템을 재설정하는 방법 Win10 시스템을 재설정하는 방법 Jun 29, 2023 pm 03:14 PM

Win10 시스템을 재설정하는 방법은 무엇입니까? 요즘에는 많은 친구들이 Win10 시스템을 사용하는 것을 좋아합니다. 그러나 컴퓨터를 사용할 때 필연적으로 해결할 수 없는 문제가 발생합니다. 그렇다면 어떻게 해야 합니까? 편집기를 따라 Win10 시스템 재설정에 대한 튜토리얼을 시청해 보세요. 필요한 사용자는 놓치지 마세요. Win10 시스템 재설정 튜토리얼 1. Windows를 클릭하고 설정을 선택합니다. 2. 업데이트 및 보안을 클릭합니다. 3. 복원을 선택합니다. 4. 이 컴퓨터를 재설정하려면 오른쪽의 시작을 클릭하세요. 위의 내용은 [Win10 시스템 재설정 방법 - Win10 시스템 재설정 튜토리얼]의 전체 내용입니다. 이 사이트에서 더 흥미로운 튜토리얼을 볼 수 있습니다!

win11 컴퓨터 구성을 확인하는 방법 win11 컴퓨터 구성을 확인하는 방법 Jun 29, 2023 pm 12:15 PM

win11 컴퓨터 구성을 확인하는 방법은 무엇입니까? win11 시스템은 매우 실용적인 컴퓨터 운영 체제 버전입니다. 이 버전은 사용자에게 더 나은 컴퓨터 작동 경험을 제공합니다. 따라서 컴퓨터를 사용하는 많은 친구들은 컴퓨터의 구체적인 구성과 이 작업을 수행하는 방법에 대해 궁금해합니다. win11 시스템에서? 많은 친구들이 자세한 작동 방법을 모릅니다. 편집자는 아래의 win11 컴퓨터 구성을 보는 방법에 대한 튜토리얼을 편집했습니다. 관심이 있으시면 편집자를 따라가십시오! Win11 컴퓨터 구성 보기 튜토리얼 1. 아래 작업 표시줄에서 Windows 아이콘을 클릭하거나 키보드의 "Windows 키"를 눌러 시작 메뉴를 엽니다. 2. 시작 메뉴에서 "설정" 또는 "sett"를 찾으세요.

시스템 재설치 시 환경 감지 문제 해결 시스템 재설치 시 환경 감지 문제 해결 Jan 08, 2024 pm 03:33 PM

시스템 재설치 시 환경 테스트가 실패하고 다시 작성해야 하는 문제를 해결하는 방법: 휴대폰이 중독되었습니다. 2. 바이러스 백신용 모바일 관리자와 같은 바이러스 백신 소프트웨어를 설치할 수 있습니다. 파일이 휴대폰 내부에 저장되어 휴대폰의 실행 메모리를 점유하게 됩니다. 3. 저장된 소프트웨어와 파일이 휴대폰 메모리를 너무 많이 차지하므로 하드웨어 구성이 설치 요구 사항을 충족하는 한 불필요한 파일과 소프트웨어를 자주 삭제하는 것은 문제가 되지 않습니다. 새 것을 시스템 디스크에서 직접 다시 설치하십시오! USB 플래시 드라이브나 하드 디스크를 사용하여 설치할 수 있으며 이는 매우 빠릅니다. 하지만 핵심은 호환성이 좋고(IDE, ACHI, RAID 모드에서 설치 지원) 자동으로 영구적으로 활성화될 수 있는 검증된 시스템 디스크를 사용하는 것입니다. 그래서

HTML 요소의 값을 추가하는 방법은 무엇입니까? HTML 요소의 값을 추가하는 방법은 무엇입니까? Sep 16, 2023 am 08:41 AM

이 기사에서는 HTML에 요소의 값을 추가하는 방법을 설명합니다. 우리는 HTML의 value 속성과 그것이 사용되는 상황에 대한 기본적인 이해를 가지고 있습니다. HTMLvalue 속성을 더 잘 이해할 수 있기를 바랍니다. HTML에서 value 속성은 함께 사용되는 요소의 값을 설명하는 데 사용됩니다. 다양한 HTML 구성요소에 대해 서로 다른 의미를 갖습니다. 사용법 -,,,,,,,, 요소와 함께 사용할 수 있습니다. - value 속성이 존재하는 경우, 입력 요소의 기본값이 무엇인지 나타냅니다. 다양한 입력 유형에 대해 서로 다른 의미를 갖습니다. 버튼이 "버튼", "재설정" 및 &qu에 나타나는 경우

MySQL에서 비밀번호를 재설정하는 방법 MySQL에서 비밀번호를 재설정하는 방법 Feb 18, 2024 pm 12:41 PM

MySQL은 다양한 유형의 애플리케이션 개발에 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. MySQL 데이터베이스를 사용할 때 데이터베이스 보안을 강화하기 위해 비밀번호를 변경해야 하는 경우가 많습니다. 이 기사에서는 구체적인 코드 예제를 통해 MySQL 비밀번호를 변경하는 방법을 소개합니다. MySQL에서는 다음 단계에 따라 비밀번호를 변경할 수 있습니다. MySQL 데이터베이스 서버에 로그인합니다. 명령 프롬프트 또는 터미널 창을 열고 다음 명령을 실행합니다. mysql-uroo

See all articles