+8

Webpack 5: Webpack multiple entry points

Webpack từ A đến Á cùng kentrung

Bài hôm nay chúng ta tìm hiểu về quản lí output với nhiều file đầu vào entry, tên của các file output sẽ dựa vào tên của các entry.

1. Chuẩn bị file

Các file code ban đầu

const path = require('path')

module.exports = {
  entry: './src/index.js',
  output: {
    filename: 'main.js',
    path: path.resolve(__dirname, 'dist')
  }
}
console.log('Hello World!')

2. Cấu hình multiple entry point

Trước khi tìm hiểu vấn đề chúng ta ngó lại một chút file webpack.config.js chỗ đoạn entry point

module.exports = {
  entry: './src/index.js',
  ...
}

Ta thấy entry đang là Single Entry, thực ra đây chỉ là kiểu viết shorthand của

module.exports = {
  entry: {
    main: './src/index.js'
  }
  ...
}

Bây giờ các bạn tạo thêm file src/my-test.js và code bên trong đơn giản thế này

console.log('kentrung test')

Nếu muốn entry point nhận file js ở trên ta viết thêm cặp key-value với key là tên nào cũng được, value là đường dẫn tới file src/my-test.js

entry: {
  main: './src/index.js',
  myTest: './src/my-test.js'
}

3. Cấu hình output

Sau khi sửa lại entry, giờ ta sửa tiếp output

module.exports = {
  ...
  output: {
    filename: '[name].js',
    path: path.resolve(__dirname, 'dist')
  }
}
  • Nội dung trên cho biết, với 2 file đầu vào entry là mainmyTest sẽ được output ra 2 file với tên tương ứng là main.jsmyTest.js
  • Chạy lại webpack với npm run dev để áp dụng cấu hình mới. Bạn vào folder dist nếu thấy đúng là có thêm hai file main.jsmyTest.js thì chúng ta đã test thành công output với nhiều đầu vào entry.

4. Tổng kết file webpack.config.js

const path = require('path')

module.exports = {
  entry: {
    main: './src/index.js',
    myTest: './src/my-test.js'
  },
  output: {
    filename: '[name].js',
    path: path.resolve(__dirname, 'dist')
  }
}

Các đồng chí lưu ý là chúng ta mới chỉ output ra hai file dist/main.jsdist/myTest.js còn các bạn muốn áp dụng vào thì file dist/index.html phải gọi nó vào nhé.


Bài viết đến đây là hết, hi vọng với bài viết này các bạn đã thêm được nhiều kiến thức bổ ích. Hẹn gặp lại các bạn ở bài viết tiếp theo.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí