Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- javascript value
- Redis
- 자바스크립트
- you don't know js
- 이펙티브 자바
- ES6
- ECMA2015
- nodeJS
- effectivejava
- javascript native
- spring batch #스프링 배치 #스프링 배치 중복 실행
- requestbody
- webstorm
- Spring
- javascript type
- 자바
- java
- CAS
- spring security
- javascript 값
- Effective Java
- webpack
- 이펙티브자바
- Intellij
- java.util.LinkedHashMap cannot be cast
- Spring Session
- javascript 기초
- JetBrains
- Babel
- javascript
Archives
- Today
- Total
귀찮지만 만들어보자
webpack 시작하기 - 2 본문
webpack 공부일지 2
기본 컨셉을 알고하자
- Entry
: transpile 되기 이전의 상태 파일주소
- Output
: transpile 되고나서의 파일 주소
: 설정하기에 따라 여러개를 둘 수 있다. Entry도 마찬가지
- Loader
: 특정 파일의 패턴을 정의한 후, loader를 적용 시킴 bundling 되기 이전에 전처리 된다
: ex) babel, cssloader 등
- Plugins
: loader는 특정 유형의 모듈을 변환하는데 사용되지만, plugin은 더 넓은 범위에 영향을 끼친다
: ex) uglify
const HtmlWebpackPlugin = require('html-webpack-plugin'); //installed via npm
const webpack = require('webpack'); //to access built-in plugins
const path = require('path');
const config = {
entry: './path/to/my/entry/file.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'my-first-webpack.bundle.js'
},
module: {
rules: [
{ test: /\.txt$/, use: 'raw-loader' }
]
},
plugins: [
new webpack.optimize.UglifyJsPlugin(),
new HtmlWebpackPlugin({template: './src/index.html'})
]
};
module.exports = config;
Multiple Entry Points Example
{
entry: {
app: './src/app.js',
search: './src/search.js'
},
output: {
filename: '[name].js',
path: __dirname + '/dist'
}
}
// writes to disk: ./dist/app.js, ./dist/search.js
여기서 핵심적으로 인지해야 할 부분은 [name] 이다. entry의 key들을 mapping 해서 output 파일을 생성해준다