Duckgugong

    Loader / Plugin

    Loader webpack은 기본적으로 javascript와 JSON 파일만 이해할 수 있기 때문에 webpack이 css, jpg등 다른 형식의 파일을 이해할 수 있도록 처리한다. Loader는 test, use두가지 속성을 가지고있다. 아래에서 첫번째 rule을 살펴보면 sass, scss, css 파일을 sass-loader, css-loader를 사용하여 처리한다는 의미이다! import, require 문에서 sass, scss, css 파일이 발견되면 번들에 추가하기 전에 sass-loader, css-loader로 변환을 먼저해버려! sass-loader로 처리된 리소스가 css-loader로 전달됨! -> 역순으로 처리 module.exports = { entry: './src/index...

    Entry(index.js) / Output

    Entry webpack이 dependency 그래프를 생성하는 최초 진입점이며 파일 경로이다. 웹팩의 번들링이 시작되는 시작점 default 경로로는 ./src/index.js로 설정이 되어있다. // webpack.config.js // 웹팩을 실행하면 index.js부터 빌드를 수행한다! module.exports = { entry: './src/index.js' } entry에 들어가는 파일에는 웹 애플리케이션의 시작점과 구조 및 내용이 담긴다. 예를들어 react의 index.js파일을 살펴보면 app.js부터 렌더링을 한다는 것을 알 수 있다! //index.js import React from 'react'; import ReactDOM from 'react-dom'; import './in..

    webpack

    webpack

    webpack? 웹팩은 엄청 많이 쓰이는 오픈 소스 모듈 번들러 라이브러리이다. 번들러(Bundler)? 번들러는 여러 개로 나뉜 모듈을 하나로 묶어주는 도구이다. 의존성이 있는 것들을 찾아서 그룹핑을 해주는 도구! 웹팩은 IIFE를 사용해서 번들링을 해서 스코프 충돌에 대한 걱정 없이 안전하게 스크립트 파일들을 연결하거나 결합한다! dependency graph를 생성하여 빌드 거대한 자바스크립트 소스코드와 대규모 의존성을 가지고 있는 대형 웹 애플리케이션이 등장함에 따라, 각각의 세분화된 모듈 파일이 무작위로 늘어나게 되었다. 이 모듈 단위의 파일들을 호출하여 브라우저에 띄워야 하는데, 자바스크립트의 특성에 따라 발생하기 쉬운 각 변수들의 스코프 문제를 해결해야 하고, 각 자원을 호출할 때 생겨나는 ..

    pages, Pre-rendering

    pages, Pre-rendering

    Pages Next.js에서 pages 디렉토리 아래 원하는 경로 명으로 디렉토리를 생성하고 index.js(jsx, ts, tsx) 파일을 생성하면 해당 경로로 진입할 때의 페이지를 구성할 수 있다. 아래 처럼 chicken 디렉토리를 만들고 index.tsx에 /chicken에 보여줄 컴포넌트를 작성할 수 있다. 또한 디렉토리 아래 [uri 파라미터 이름].js(jsx, ts, tsx)으로 파일을 성하면 dynamic routing을 할 수 있다 . 아래와 같이 디렉토리 구조를 잡는다면 /chicken 경로 뒤에 아무 이름이나 붙이면 [id].tsx가 렌더링된다 /chicken/123121312312, /chicken/gggg 는 모두 [id].tsx를 렌더링한다 Pre-rendering? Next...