React/ReactBasic(ZeroCho)

@babel/preset-env와 plugins

느리지만 꾸준하게 2021. 9. 8. 20:19

webpack.config.js파일에 있는 presets에 설정을 적용하고 싶다 그러면 아래와 같이 배열로 해서 원하는 브라우저에만 맞춰서 해줄 수 있다.

 

크롬 버전이 70버전이라 치면언 69와 70버전만 호환이 되게 해준다.

// webpack.config.js

module: {
        rules: [{
            test: /\.jsx?$/,
            loader: 'babel-loader',
            options: {
                presets: [
                    ['@babel/preset-env', {
                    target: {
                        browsers: ['> 5% in KR', 'last 2 chrome versions'],
                    },
                    debug: true,
                }],
                '@babel/preset-react',
            ],
            plugins: [],
            },
        }],
    },

아래와 같이 한국에서 인터넷 점유율이 5%이상인 브라우저를 호환할 수도 있다.(browserlist github에서 참고해보자.)

browsers: ['> 5% in KR', 'last 2 chrome versions'],

 

webpack.config.js에 plugins도 추가해주는데 확장프로그램이라고 이해하자.

(lodaer부분 즉 options부분에 debug true를 넣어준다고 볼 수 있다.)

plugins: [
        new webpack.LoaderOptionsPlugin({ debug: true }),
    ],

 

그리고 webpack사이트에서 문서를 참고해보면

entry에다가 시작파일을 넣고

output이 결과가 어떻게 될지 

loaders가 module부분

plugin은 추가적으로 하고싶은 작업이 무엇인지

mode는 development / production 을 뜻한다.

 

webpack documents

npm run dev를 돌렸을 때 에러가 발생했는데 

이 부분을 빼주니 잘 동작한다...(이유는...?)

plugins: [
        new webpack.LoaderOptionsPlugin({ debug: true }),
    ],

 

 

 

 

 

 

 

 

 

 

 

 

<출처 조현영: 웹 게임을 만들며 배우는 React>

https://www.inflearn.com/course/web-game-react/dashboard

 

[무료] 웹 게임을 만들며 배우는 React - 인프런 | 강의

웹게임을 통해 리액트를 배워봅니다. Class, Hooks를 모두 익히며, Context API와 React Router, 웹팩, 바벨까지 추가로 배웁니다., 8개의 간단한 웹게임을 만들어보며 배우는 리액트 강좌입니다.React Hooks에

www.inflearn.com

https://github.com/browserslist/browserslist

 

GitHub - browserslist/browserslist: 🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint a

🦔 Share target browsers between different front-end tools, like Autoprefixer, Stylelint and babel-preset-env - GitHub - browserslist/browserslist: 🦔 Share target browsers between different front-en...

github.com

https://webpack.js.org/concepts/

 

Concepts | webpack

webpack is a module bundler. Its main purpose is to bundle JavaScript files for usage in a browser, yet it is also capable of transforming, bundling, or packaging just about any resource or asset.

webpack.js.org

 

'React > ReactBasic(ZeroCho)' 카테고리의 다른 글

웹펙 데브서버와 핫 리로딩  (0) 2021.09.08
끝말잇기 Class 만들기  (0) 2021.09.08
예제코드 웹펙으로 빌드(구구단)  (0) 2021.09.08
웹펙으로 빌드하기  (0) 2021.09.08
웹펙 설치하기 (React practice)  (0) 2021.09.08