AMD 및 CommonJS 에 대해 서

2210 단어 JavaScript
Module 의 문법
개술
이전
AMD 규범: 전 칭 'Asynchronous Module Definition' 으로 비동기 모듈 로드 규범 이 라 고 합 니 다.일반적으로 브 라 우 저 에 적 용 됩 니 다.유행 하 는 브 라 우 저 엔 드 비동기 로 딩 라 이브 러 리 RequireJS 가 실현 하 는 것 이 AMD 규범 입 니 다.
  • 선행 에 의존 하여 미리 집행 합 니 다!

  • CommonJS: 동기 모듈 로드 규범 이 라 고 합 니 다. 즉, 로드 가 완료 되 어야 뒤의 작업 을 수행 할 수 있 습 니 다.서버 쪽 에 사용 합 니 다.
  • CommonJS 모듈 이 대상 이 므 로 입력 할 때 대상 속성 을 찾 아야 합 니 다.코드 가 실 행 될 때 불 러 옵 니 다. 출력 값 은 복사 할 가치 가 있 습 니 다
  • let { stat, exists, readFile } = require('fs'); //       `fs`                    
    

    es6 의 module
    ES6 모듈 은 대상 이 아니 라 export 명령 을 통 해 출력 코드 를 명시 적 으로 지정 한 다음 import 명령 을 통 해 입력 합 니 다.인용
  • 이러한 로드 는 '컴 파일 시 로드' 또는 정적 로드 라 고 부 르 며 효율 이 더욱 높다
  • .
    // ES6  
    import { stat, exists, readFile } from 'fs';  // `fs`    3         
    

    export
    모든 module 은 독립 된 파일 입 니 다. 이 파일 류 의 모든 내용 은 외부 에서 export 명령 을 가 져 올 수 없습니다. 정 해진 모듈 의 대외 인터페이스 에 사 용 됩 니 다. import 명령 은 다른 모듈 이 제공 하 는 기능 을 입력 하 는 데 사 용 됩 니 다.
  • 쓰기
    export const name='haha'
    
    //   
    name='haha'
    sex='male'
    export {name,sex} //        
    
    //      
    
    export function fn(){}
    
    
  • export 출력 변 수 는 이름 이 있 습 니 다. as 교체
    function fn1(){}
    
    export {fn1 as fn2}
    
    
  • 를 사용 할 수 있 습 니 다.
    import
    import 'fs' 이렇게 하면 다 불 러 옵 니 다.
    import {xx,xxx} form ‘xxxxx’
    import 가 져 올 때 가 져 올 방법 이름 을 알 아야 합 니 다.
    export default 의 기본 출력 을 사용 하면 import 할 때 임의의 이름 을 사용 할 수 있 습 니 다.
    export.js
    
    export default function fn(){} //             ,      export         ,import {xx}          
    
    
    import.js 
    
    import foo from 'export.js' //import         
    
    

    노드 로드node ,ES6 CommonJS 。
    CommonJS 모듈 의 출력 은 모두 module. exports 라 는 속성 에 정의 되 어 있 습 니 다.Node 의 import 명령 은 CommonJS 모듈 을 불 러 옵 니 다. Node 는 모듈 의 기본 출력 으로 module. exports 속성 을 자동 으로 불 러 옵 니 다. 즉, export default xxx 와 같 습 니 다.
  • commonJS
    // a.js
    module.exports = {
        foo: 'hello',
        bar: 'world'
    };
    
    //    
    export default {
        foo: 'hello',
        bar: 'world'
    };
    
  • 좋은 웹페이지 즐겨찾기