[webpack] ch6. Webpack Plugins
Webpack Plugins
- 플러그인은 파일별 커스텀 기능을 사용하기 위해서 사용
- ex) JS minification, file extraction, alias(별칭)
module.exports = { entry: {}, output: {}, module: {}, plugins: [ new webpack.optimize.UglifyPlugin() // .. ] };
loader
와plugins
의 차이는loader
의 경우 빌딩, 번들링하는 중간에 개입,plugins
의 경우 번들링이 다 끝나고 마지막에 결과값을 낼때 관여하는 것
Plugin 종류
ProvidePlugins
- 모든 모듈에서 사용할 수 있도록 해당 모듈을 변수로 변환
new webpack.ProvidePlugin({ $: "jquery" })
DefinePlugin
- Webpack 번들링을 시작하는 시점에 사용 가능한 상수들을 정의
- 일반적으로 개발계&테스트계에 따라 다른 설정을 적용할 때 유용 ```javascript new webpack.DefinePlugin({ PRODUCTION: JSON.stringify(true), VERSION: JSON.stringify(“5fa3b9”), BROWSER_SUPPORTS_HTML5: true, TWO: “1+1”, “typeof window”: JSON.stringify(“object”)
})
#### ManifestPlugin
- 번들링시 생성되는 코드(라이브러리)에 대한 정보를 json파일로 저장하여 관리
```javascript
new ManifestPlugin({
fileName: 'manifest.json',
basePath: './dist/'
})