Webpack에서 여러 페이지를 구성하는 올바른 방법은 무엇입니까?

파비안 로드리게스

Webpack 만 사용하여 기본 웹 사이트를 만들려고합니다. 내 목적은 example.com/about, example.com/contact와 같은 간단한 URL 구조를 갖는 것입니다.

Webpack에서는 HTMLWebpackPlugin을 사용할 수 있지만 모든 경로에 대한 인스턴스를 만들어야합니다. 그래서, 제 질문은 : 이것을 단순화하는 방법이 있습니까?

const path = require('path');
const htmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    entry: './src/main.js',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist'),
    },
    devServer: {
        port: 5000,
    },
    plugins: [
        new htmlWebpackPlugin({
            title: 'Home',
            filename: 'index.html',
            template: './src/pages/home/index.html',
        }),
        new htmlWebpackPlugin({
            title: 'About',
            filename: 'about/index.html',
            template: './src/pages/about/index.html',
        }),
    ],
};
aviya.developer

Webpack 구성 파일은 javascript입니다. 따라서 프로세스를 추상화하기 위해 몇 가지 도우미 함수를 추가하고 원하는 효과를내는 페이지 배열을 연결하면됩니다.

const htmlWebpackPlugin = require('html-webpack-plugin');

const generateHtmlPlugin = (title) => {
  return new htmlWebpackPlugin({
    title,
    filename: 'index.html',
    template: `./src/pages/${title.toLowerCase()}/index.html`,
  });
}

const populateHtmlPlugins = (pagesArray) => {
  res = [];
  pagesArray.forEach(page => {
    res.push(generateHtmlPlugin(page));
  })
  return res;
}

따라서 이것은 너무 많은 코드가 아니며 웹팩을 설정할 때 원하는 페이지 배열을 삽입 할 수 있습니다.

const pages = populateHtmlPlugins(["About", "Articles", "Users", "Contact"]);

module.exports = {
  //...
  plugins: pages
}

더 좋은 방법은 utils폴더를 만들고 코드를 내 보낸 두 개의 모듈로 리팩터링 한 다음 populateHtmlPlugins()웹팩 구성 파일로 가져 와서 매우 깔끔하게 유지할 수 있다는 것입니다.

이제 원하는만큼의 페이지를 쉽게 만들 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Swift에서 여러 후행 클로저를 작성하는 올바른 방법은 무엇입니까?

분류에서Dev

Terraform 저장소에서 논리적으로 구성된 여러 하위 폴더를 설정하는 올바른 방법은 무엇입니까?

분류에서Dev

여러 클래스에서 application.properties를로드하는 올바른 방법은 무엇입니까?

분류에서Dev

여러 선택 요소가 동일한 페이지에있을 때 올바른 selectedIndex를 얻는 방법은 무엇입니까?

분류에서Dev

새 창에서 srcset에서 올바른 이미지를 여는 방법은 무엇입니까?

분류에서Dev

여러 페이지에서 사용할 AngularJS 함수를 구성하는 방법은 무엇입니까?

분류에서Dev

Semantic-UI를 사용하여 올바른 글꼴 유형을 표시하도록 페이지를 구성하는 방법은 무엇입니까?

분류에서Dev

올바른 순서로 Python에서 중첩 사전 이해를 구성하는 방법은 무엇입니까?

분류에서Dev

ASP.NET C #의 EventHandler에서 페이지를 수정하는 올바른 방법은 무엇입니까?

분류에서Dev

여러 연결 목록을 가지고 Rust에서 데이터를 이동하는 올바른 방법은 무엇입니까?

분류에서Dev

여러 클라이언트에서 IdentityServer4를 사용하여 새 사용자를 등록하는 올바른 방법은 무엇입니까?

분류에서Dev

웹 페이지에서 Angularjs를 사용하여 클래스 속성과 ng-class가있는 올바른 구문 분석 된 if 문을 설정하는 방법은 무엇입니까?

분류에서Dev

Silex에서 여러 방화벽을 올바르게 구성하는 방법은 무엇입니까?

분류에서Dev

Silverstripe 3 : 함수의 다른 페이지에 표시하기 위해 여러 페이지에서 이미지를 가져 오는 방법은 무엇입니까?

분류에서Dev

youtube-dl 구성 파일에서 헤더를 설정하는 올바른 방법은 무엇입니까?

분류에서Dev

크로스 플랫폼 지향 웹 서비스를 구성하는 올바른 방법은 무엇입니까?

분류에서Dev

다른 구성에 대해 MSVC_RUNTIME_LIBRARY를 설정하는 올바른 방법은 무엇입니까?

분류에서Dev

특히 eloquent를 사용하여 Laravel에서 HTML을 저장하는 올바른 방법은 무엇입니까?

분류에서Dev

JavaScript를 사용하여 다른 페이지에서 이미지 src를 얻는 방법은 무엇입니까?

분류에서Dev

intellij에 json-simple 라이브러리를 추가하는 올바른 방법은 무엇입니까?

분류에서Dev

하나의 xaml 페이지에서 여러 xaml 페이지를 결합하는 방법은 무엇입니까?

분류에서Dev

IFormFile에 대한 Fluent 유효성 검사를 구현하는 올바른 방법은 무엇입니까?

분류에서Dev

Reactjs에서 상태 변수를 설정하는 올바른 방법은 무엇이며 이러한 접근 방식의 차이점은 무엇입니까?

분류에서Dev

여러 모니터에서 LightDM에 대한 올바른 해상도를 강제하는 방법은 무엇입니까?

분류에서Dev

여러 모니터에서 LightDM에 대한 올바른 해상도를 강제하는 방법은 무엇입니까?

분류에서Dev

여러 HTML 템플릿에서 다중 페이지 PDF를 생성하는 방법은 무엇입니까?

분류에서Dev

새 창에서 powershell 코어를 여는 올바른 방법은 무엇입니까?

분류에서Dev

NSURLSession을 사용하여 POST에 변수를 게시하는 올바른 방법은 무엇입니까?

분류에서Dev

단일 쿼리에서 여러 COUNT 절을 사용하는 올바른 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Swift에서 여러 후행 클로저를 작성하는 올바른 방법은 무엇입니까?

  2. 2

    Terraform 저장소에서 논리적으로 구성된 여러 하위 폴더를 설정하는 올바른 방법은 무엇입니까?

  3. 3

    여러 클래스에서 application.properties를로드하는 올바른 방법은 무엇입니까?

  4. 4

    여러 선택 요소가 동일한 페이지에있을 때 올바른 selectedIndex를 얻는 방법은 무엇입니까?

  5. 5

    새 창에서 srcset에서 올바른 이미지를 여는 방법은 무엇입니까?

  6. 6

    여러 페이지에서 사용할 AngularJS 함수를 구성하는 방법은 무엇입니까?

  7. 7

    Semantic-UI를 사용하여 올바른 글꼴 유형을 표시하도록 페이지를 구성하는 방법은 무엇입니까?

  8. 8

    올바른 순서로 Python에서 중첩 사전 이해를 구성하는 방법은 무엇입니까?

  9. 9

    ASP.NET C #의 EventHandler에서 페이지를 수정하는 올바른 방법은 무엇입니까?

  10. 10

    여러 연결 목록을 가지고 Rust에서 데이터를 이동하는 올바른 방법은 무엇입니까?

  11. 11

    여러 클라이언트에서 IdentityServer4를 사용하여 새 사용자를 등록하는 올바른 방법은 무엇입니까?

  12. 12

    웹 페이지에서 Angularjs를 사용하여 클래스 속성과 ng-class가있는 올바른 구문 분석 된 if 문을 설정하는 방법은 무엇입니까?

  13. 13

    Silex에서 여러 방화벽을 올바르게 구성하는 방법은 무엇입니까?

  14. 14

    Silverstripe 3 : 함수의 다른 페이지에 표시하기 위해 여러 페이지에서 이미지를 가져 오는 방법은 무엇입니까?

  15. 15

    youtube-dl 구성 파일에서 헤더를 설정하는 올바른 방법은 무엇입니까?

  16. 16

    크로스 플랫폼 지향 웹 서비스를 구성하는 올바른 방법은 무엇입니까?

  17. 17

    다른 구성에 대해 MSVC_RUNTIME_LIBRARY를 설정하는 올바른 방법은 무엇입니까?

  18. 18

    특히 eloquent를 사용하여 Laravel에서 HTML을 저장하는 올바른 방법은 무엇입니까?

  19. 19

    JavaScript를 사용하여 다른 페이지에서 이미지 src를 얻는 방법은 무엇입니까?

  20. 20

    intellij에 json-simple 라이브러리를 추가하는 올바른 방법은 무엇입니까?

  21. 21

    하나의 xaml 페이지에서 여러 xaml 페이지를 결합하는 방법은 무엇입니까?

  22. 22

    IFormFile에 대한 Fluent 유효성 검사를 구현하는 올바른 방법은 무엇입니까?

  23. 23

    Reactjs에서 상태 변수를 설정하는 올바른 방법은 무엇이며 이러한 접근 방식의 차이점은 무엇입니까?

  24. 24

    여러 모니터에서 LightDM에 대한 올바른 해상도를 강제하는 방법은 무엇입니까?

  25. 25

    여러 모니터에서 LightDM에 대한 올바른 해상도를 강제하는 방법은 무엇입니까?

  26. 26

    여러 HTML 템플릿에서 다중 페이지 PDF를 생성하는 방법은 무엇입니까?

  27. 27

    새 창에서 powershell 코어를 여는 올바른 방법은 무엇입니까?

  28. 28

    NSURLSession을 사용하여 POST에 변수를 게시하는 올바른 방법은 무엇입니까?

  29. 29

    단일 쿼리에서 여러 COUNT 절을 사용하는 올바른 방법은 무엇입니까?

뜨겁다태그

보관