Spec-Zone.ru › webpack 5

Мишени

Поскольку JavaScript может быть написан как для сервера, так и для браузера, webpack предоставляет несколько мишеней развертывания, которые вы можете установить в своей конфигурации webpack конфигурации.

предупреждение

Свойство webpack target не следует путать со свойством output.libraryTarget. Для получения дополнительной информации см. наше руководство по свойству output.

Использование

Для установки свойства target, вы устанавливаете значение целевой мишени в своей конфигурации webpack:

webpack.config.js

module.exports = {
  target: 'node',
};

В приведенном выше примере, используя node, webpack будет компилировать для использования в среде, похожей на Node.js (использует Node.js require для загрузки фрагментов и не затрагивает встроенные модули, такие как fs или path).

Каждая мишень имеет различные добавления, специфичные для развертывания/среды, поддержку для соответствия ее потребностям. Узнайте, какие мишени доступны.

заметка

Дальнейшее расширение для других популярных значений целевых мишеней

Несколько мишеней

Хотя webpack не поддерживает передачу нескольких строк в свойство target, вы можете создать изоморфную библиотеку, объединив две отдельные конфигурации:

webpack.config.js

const path = require('path');
const serverConfig = {
  target: 'node',
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'lib.node.js',
  },
  //…
};

const clientConfig = {
  target: 'web', // <=== can be omitted as default is 'web'
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'lib.js',
  },
  //…
};

module.exports = [serverConfig, clientConfig];

Приведенный выше пример создаст файл lib.js и lib.node.js в папке dist.

Ресурсы

Как видно из приведенных выше вариантов, существует множество целевых мишеней развертывания, из которых вы можете выбрать. Ниже приведен список примеров и ресурсов, к которым вы можете обратиться.

  • compare-webpack-target-bundles: Отличный ресурс для тестирования и просмотра различных целевых мишеней webpack. Также отлично подходит для отправки отчетов об ошибках.
  • Шаблон приложения Electron-React: Хороший пример процесса сборки для основного и рендерного процессов Electron.
заметка

Нужно найти актуальные примеры использования этих целевых мишеней webpack в действующем коде или шаблонах.

© JS Foundation and other contributors
Licensed under the Creative Commons Attribution License 4.0.
https://webpack.js.org/concepts/targets

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API