대형 프런트 엔드 도구 소개

이제 다양한 모바일 엔드 단말 장치에 상승, PC의 측을 초과, 다른 장치는 필연적으로 매우, 그런 게임을 만들고, 당신 등 안드로이드 버전, IOS 버전, 여러 가지 다른 버전을 개발할 필요가 점점 더 어려워 개발, 통합되지 않은 언어의 발전으로 이어질 것입니다 인적, 물적 자원의 낭비.

시대의 큰 앞은 이러한 어려움을 해결하기 위해 정확하게 나타납니다 존재로했다.

ES6 건물 프로젝트 소개

  • 프로젝트 빌드 단계
    1. 새로운 프로젝트 폴더 (세 블록)
      1. 응용 프로그램 : 프런트 엔드 코드 (JS, CSS, HTML 템플릿)
        • JS
        • CSS
        • 견해
      2. 서버 : 서버 코드 (서버) 一个完整的项目必须要服务器提供接口和真实数据
        • express-generator脚手架
        • express -e .
      3. 작업 : 보조 코드 (컴파일러 프론트 엔드 코드 및 자동화)
        • UTIL는 : 일반적인 꿀꺽 자동화 된 스크립트를 배치
          • args.js (자신의 스크립트 명령 줄 인수를 쓰기)
    2. 필요한 구성 파일 만들기
      1. package.json (NPM -y 설치)
      2. .babelrc (지원 ES6 문법)
      3. gulpfile.babel.js(쭉 마시는 시작 파일 확장명이 필요로하는 프로젝트 ES6에 사용되는 구문, 그래서 추가 할 수 있기 때문에 .babel)
    3. 처리 명령 줄 매개 변수 ( args.js사용자 정의 매개 변수 스크립트)

인기있는 프레임 워크

  • 라이브러리 및 프레임 워크
    • 라이브러리 : 작은하지만 특정 규범, 자신의 코드에 주로 기반
    • 프레임 : 크고 주로 사람들이이 프레임 워크에 자신의 코드를 작성하는 것을 뼈대 코드에서 필요에 의해 설립 규제 프레임 워크를 준수합니다
  • MVC
    • 아이디어는 단순히 코드의 구조를 구성하는 방법입니다
    • 가장 중요한 점은 커플 링의 정도를 줄이는 것입니다
    • 쉽게 작성하고 코드를 유지하기 위해
    • 개발 팀을 용이하게하기 위해
    • 전체 코드의 복잡성을 단순화, 조직 코드 분할 모듈
    • 민첩한 사고 : 구성된 계약보다 더 큰, 회원들이 신속하게 개발할 수있을 것 팀만큼 서로 잘 일치
  • 전망
    • 데이터 기반 프레임 워크 :
      • 데이터 드라이버의보기만큼 데이터가 자동으로 수정보기를 업데이트 될 때, 작업이 DOM을 필요로하지 않습니다
  • 작업 자동화
    • 툴툴 거리는 소리 : 캐스케이드 작업, 파일 작업에 속하는 한 후 천천히
    • 꿀꺽 : 파일 스트림 작업 (스트림), 빠른
  • 컴파일 도구
    • 바벨 : 컴파일 ES6
    • 웹팩 : 모듈 형 프로젝트 종속성

JQuery와

  • 패키지 항목 기능
    • jQuery를 입력 기능을 대신 DOMContentLoaded를 사용, 사용하지 않을 수 있습니다

모듈로드

  • CommonJS 사양

    • 핵심 아이디어

      • 이 모듈 있도록 require다른 모듈에 의존 동기 방법을로드하고으로되도록 exports하거나 module.exports변명 노출되도록 유도 필요
        1 
        2
        3
        4
        요구 ( "모듈" ); 
        필요 ( "../file.js" );
        exports.doStuff = 함수 () {};
        모듈 .exports = someValue와;
    • 실현

    • AMD의 Asynchronous Module Definition사양

      • 핵심 아이디어

        • 하나의 기본 인터페이스 define(id?, dependencies?, factory), 그것은 모듈이 모든 의존성 종속성, 또한 공장에 전달되는 매개 변수로 종속 모듈에 대한 사전에 수행 할 때, 문에 사전 의존도를 지정하는 것입니다
          1 
          2
          3
          4
          (정의 "모듈" , [ "dep1" , "dep2" , 함수 ( D1, D2 ) { 복귀 someExportedValue 단계; }); 요구 ([ "모듈" , "../file" , 기능 ( 모듈 파일 ) {});



      • 실현

        • requireJS
    • CMD의 Common Module Definition사양

      • 그리고 AMD는 매우 비슷합니다, 간단하게하려고 및 모듈 CommonJS Node.js를 및 사양과의 호환성의 큰 거래를 유지하기 위해

        1 
        2
        3
        4
        5
        6
        정의 ( 기능 ( 필요 수출 모듈 ) { var에 $의 =이 요구 ( 'jQuery를' ) VAR의 스피닝 =이 요구 ( './spinning' )     exports.doSomething = ... 모듈 .exports = ... })





      • 실현

        • Sea.js
    • 배경 Node.js를
      • 의존성 이 필요하고 수출
    • browserify
      • 모듈 로더,하지만 당신은 단지 JS를로드 할 수 있습니다
    • 웹팩
      • 모듈 로더는, 모든 일 등 CSS, 사진, VUE 파일, JS를 포함, 모듈입니다
      • 모듈은 별도로 작성하고, 마지막으로 함께 포장되어

    웹팩

    • 웹팩 올바르게 구성 process.env.NODE_ENV
    1 
    2
    3
    4
    5
    새로운 webpack.DefinePlugin ({ 'process.env' { 'NODE_ENV' : JSON .stringify ( '생산' )     } })




    다음 명령을 호출 할 때 : 웹팩 패키지 (Linux 환경)를 사용하는 방법 프로덕션 환경을 나타냅니다

    NODE_ENV=production webpack --progress --colors

추천

출처www.cnblogs.com/lijianming180/p/12147674.html