2017-12-13 14 views
0

webpack 2 및 typescript를 사용한다고 가정하면이 문장의 차이점은 무엇입니까? 제 (IMHO 나쁜) 문서를 통해 트롤 어업에도 불구하고 정확히 무슨 일 webpack 2 ...
의 경우 webpack - 이러한 import 문은 어떻게 다른가요?

import "moment"; 
import "imports-loader?window=>this!moment"; 
import "script-loader!moment"; 
import * as moment from "moment"; 
import { moment } from "moment"; 

, 그것은 나에게 매우 분명하지 않다.

나는 script-loader를 사용하면 script-loader으로 수입 다른 라이브러리를 사용할 수 일부 라이브러리를 만들기 위해 보이지만 다른 ES6 수입 라이브러리를 전역으로 넣지 않는, 예를 들어, 발견했다.

참조

:이처럼 내 tsconfig.json 외모 :

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "moduleResolution": "node", 
    "target": "es5", 
    "sourceMap": true, 
    "experimentalDecorators": true, 
    "emitDecoratorMetadata": true, 
    "pretty": true, 
    "lib": [ "es6", "dom" ], 
    "types": [] 
    }, 
    "exclude": [ 
    "node_modules", "wwwroot/lib", "bower_components" 
    ] 
} 

답변

0

세 가지 형태 :

import "moment"; 
import * as moment from "moment"; 
import { moment } from "moment"; 
  • import "moment";

부작용에 대한 파일을 가져옵니다

. import * as moment from "moment";

  • import { moment } from "moment";

모듈에서 이름 수출 moment을 가져옵니다라는 이름의 moment

    로 파일에 전체 모듈을 가져옵니다.

    ES6 수입/모듈 구문 읽기 최대

    웹팩

    웹팩 또한, 예를 들어 수입 로더를 사용할 수 있습니다

    import "imports-loader?window=>this!moment"; 
    import "script-loader!moment"; 
    

    이는 개별 로더 문서 (예 :. https://github.com/webpack-contrib/imports-loader

+0

덕분에 "가져 오기"순간 인 "놓기"가되어 버렸습니다. - 스크립트 로더와 동일한 기능을합니까? – Jim

+0

나는 webpack 특정 물건을 분리했습니다. – basarat